desktop_settings.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include "desktop_settings_filename.h"
  3. #include <furi_hal.h>
  4. #include <stdint.h>
  5. #include <stdbool.h>
  6. #include <toolbox/saved_struct.h>
  7. #include <storage/storage.h>
  8. #define DESKTOP_SETTINGS_VER (6)
  9. #define DESKTOP_SETTINGS_PATH INT_PATH(DESKTOP_SETTINGS_FILE_NAME)
  10. #define DESKTOP_SETTINGS_MAGIC (0x17)
  11. #define PIN_MAX_LENGTH 12
  12. #define DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG "run_pin_setup"
  13. #define DESKTOP_SETTINGS_SAVE(x) \
  14. saved_struct_save( \
  15. DESKTOP_SETTINGS_PATH, \
  16. (x), \
  17. sizeof(DesktopSettings), \
  18. DESKTOP_SETTINGS_MAGIC, \
  19. DESKTOP_SETTINGS_VER)
  20. #define DESKTOP_SETTINGS_LOAD(x) \
  21. saved_struct_load( \
  22. DESKTOP_SETTINGS_PATH, \
  23. (x), \
  24. sizeof(DesktopSettings), \
  25. DESKTOP_SETTINGS_MAGIC, \
  26. DESKTOP_SETTINGS_VER)
  27. #define MAX_PIN_SIZE 10
  28. #define MIN_PIN_SIZE 4
  29. #define MAX_APP_LENGTH 128
  30. #define FAP_LOADER_APP_NAME "Applications"
  31. typedef struct {
  32. InputKey data[MAX_PIN_SIZE];
  33. uint8_t length;
  34. } PinCode;
  35. typedef struct {
  36. bool is_external;
  37. char name_or_path[MAX_APP_LENGTH];
  38. } FavoriteApp;
  39. typedef struct {
  40. FavoriteApp favorite_primary;
  41. FavoriteApp favorite_secondary;
  42. PinCode pin_code;
  43. uint8_t is_locked;
  44. uint32_t auto_lock_delay_ms;
  45. uint8_t dummy_mode;
  46. } DesktopSettings;