subbrute_scene_save_success.c 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "../subbrute_i.h"
  2. #include "subbrute_scene.h"
  3. void subbrute_scene_save_success_on_enter(void* context) {
  4. furi_assert(context);
  5. SubBruteState* instance = context;
  6. // Setup view
  7. Popup* popup = instance->popup;
  8. popup_set_icon(popup, 32, 5, &I_DolphinNice_96x59);
  9. popup_set_header(popup, "Saved!", 13, 22, AlignLeft, AlignBottom);
  10. popup_set_timeout(popup, 1500);
  11. popup_set_context(popup, instance);
  12. popup_set_callback(popup, subbrute_popup_closed_callback);
  13. popup_enable_timeout(popup);
  14. view_dispatcher_switch_to_view(instance->view_dispatcher, SubBruteViewPopup);
  15. }
  16. bool subbrute_scene_save_success_on_event(void* context, SceneManagerEvent event) {
  17. furi_assert(context);
  18. SubBruteState* instance = (SubBruteState*)context;
  19. //SubBruteMainView* view = instance->view_main;
  20. if(event.type == SceneManagerEventTypeCustom) {
  21. if(event.event == SubBruteCustomEventTypePopupClosed) {
  22. if(!scene_manager_search_and_switch_to_previous_scene(
  23. instance->scene_manager, SubBruteSceneSetupAttack)) {
  24. scene_manager_next_scene(instance->scene_manager, SubBruteSceneStart);
  25. }
  26. return true;
  27. }
  28. }
  29. return false;
  30. }
  31. void subbrute_scene_save_success_on_exit(void* context) {
  32. furi_assert(context);
  33. SubBruteState* instance = (SubBruteState*)context;
  34. // Clear view
  35. Popup* popup = instance->popup;
  36. popup_set_header(popup, NULL, 0, 0, AlignCenter, AlignBottom);
  37. popup_set_text(popup, NULL, 0, 0, AlignCenter, AlignTop);
  38. popup_set_icon(popup, 0, 0, NULL);
  39. popup_set_callback(popup, NULL);
  40. popup_set_context(popup, NULL);
  41. popup_set_timeout(popup, 0);
  42. popup_disable_timeout(popup);
  43. }