bad_usb_scene_file_select.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "../bad_usb_app_i.h"
  2. #include "furi_hal_power.h"
  3. #include "furi_hal_usb.h"
  4. static bool bad_usb_file_select(BadUsbApp* bad_usb) {
  5. furi_assert(bad_usb);
  6. // Input events and views are managed by file_select
  7. bool res = dialog_file_select_show(
  8. bad_usb->dialogs,
  9. BAD_USB_APP_PATH_FOLDER,
  10. BAD_USB_APP_EXTENSION,
  11. bad_usb->file_name,
  12. sizeof(bad_usb->file_name),
  13. NULL);
  14. return res;
  15. }
  16. void bad_usb_scene_file_select_on_enter(void* context) {
  17. BadUsbApp* bad_usb = context;
  18. furi_hal_usb_disable();
  19. if(bad_usb_file_select(bad_usb)) {
  20. scene_manager_next_scene(bad_usb->scene_manager, BadUsbSceneWork);
  21. } else {
  22. furi_hal_usb_enable();
  23. //scene_manager_previous_scene(bad_usb->scene_manager);
  24. view_dispatcher_stop(bad_usb->view_dispatcher);
  25. }
  26. }
  27. bool bad_usb_scene_file_select_on_event(void* context, SceneManagerEvent event) {
  28. // BadUsbApp* bad_usb = context;
  29. return false;
  30. }
  31. void bad_usb_scene_file_select_on_exit(void* context) {
  32. // BadUsbApp* bad_usb = context;
  33. }