subghz_scene_receiver.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "../subghz_i.h"
  2. #include "../views/subghz_receiver.h"
  3. void subghz_scene_receiver_callback(SubghzReceverEvent event, void* context) {
  4. furi_assert(context);
  5. SubGhz* subghz = context;
  6. view_dispatcher_send_custom_event(subghz->view_dispatcher, event);
  7. }
  8. const void subghz_scene_receiver_on_enter(void* context) {
  9. SubGhz* subghz = context;
  10. SubghzReceiver* subghz_receiver = subghz->subghz_receiver;
  11. subghz_receiver_set_callback(subghz_receiver, subghz_scene_receiver_callback, subghz);
  12. subghz_receiver_set_protocol(subghz_receiver, subghz->protocol_result);
  13. view_dispatcher_switch_to_view(subghz->view_dispatcher, SubGhzViewReceiver);
  14. }
  15. const bool subghz_scene_receiver_on_event(void* context, SceneManagerEvent event) {
  16. SubGhz* subghz = context;
  17. if(event.type == SceneManagerEventTypeCustom) {
  18. if(event.event == SubghzReceverEventSave) {
  19. scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName);
  20. return true;
  21. } else if(event.event == SubghzReceverEventBack) {
  22. scene_manager_previous_scene(subghz->scene_manager);
  23. return true;
  24. }
  25. }
  26. return false;
  27. }
  28. const void subghz_scene_receiver_on_exit(void* context) {
  29. // SubGhz* subghz = context;
  30. }