bad_usb_scene_file_select.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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_browser
  7. bool res = dialog_file_browser_show(
  8. bad_usb->dialogs,
  9. bad_usb->file_path,
  10. bad_usb->file_path,
  11. BAD_USB_APP_EXTENSION,
  12. true,
  13. &I_badusb_10px,
  14. true);
  15. return res;
  16. }
  17. void bad_usb_scene_file_select_on_enter(void* context) {
  18. BadUsbApp* bad_usb = context;
  19. furi_hal_usb_disable();
  20. if(bad_usb_file_select(bad_usb)) {
  21. scene_manager_next_scene(bad_usb->scene_manager, BadUsbSceneWork);
  22. } else {
  23. furi_hal_usb_enable();
  24. //scene_manager_previous_scene(bad_usb->scene_manager);
  25. view_dispatcher_stop(bad_usb->view_dispatcher);
  26. }
  27. }
  28. bool bad_usb_scene_file_select_on_event(void* context, SceneManagerEvent event) {
  29. UNUSED(context);
  30. UNUSED(event);
  31. // BadUsbApp* bad_usb = context;
  32. return false;
  33. }
  34. void bad_usb_scene_file_select_on_exit(void* context) {
  35. UNUSED(context);
  36. // BadUsbApp* bad_usb = context;
  37. }