Commit Graph

52 Commits

Author SHA1 Message Date
Alexander Bays
0e3e1b352b Desktop / MNTM Settings: Directories and generic files support for Keybinds / Main Menu (#331)
* feat(Desktop): Directories support for keybinds

- Adds *RIGHT* button select in the file browser dialogs and changing the `Open File` action to `Open File/Directory` in `Settings > Desktop > Keybinds Setup`. This adds the ability to open to any directory in the Archive app, in addition to the default behavior of opening a file in it's default app.

* line order mixup

* Main Menu: Allow adding JS files (or any file)

- Normal files and directories are now able to be added to then main menu and are run in their appropriate apps.
- e.g. .txt files shown in text viewer, .js files are run in the JS Runner app, and folders are navigated to by the Archive app. All similar to the desktop keybinds functionality.
- Icons are also assigned appropriately based on the extensions, though more could probably be added to the `loader_menu_get_ext_icon` function.
- Also replaced some of the long arduous is_dir checks and just used the `storage_dir_exists` function since its already there and does the same.

* should be checking `ext` for NULL

* Move select_right at end of structs for binary compatibility

apps may blindly reach into these structs so need to keep the basics in same structure

for DialogsFileBrowserOptions this is even in public api and after compilation this would be incompatible with other firmwares even without reaching into private structs

* Select menu item / folder for directories too

* Move api below too

* Keep ofw order here too

* Refactor starting archive into desktop, less FuriString passing around

* Dont leave main menu when launching archive

* Simplify/fix a few things

* Handle folders in run_with_default_app()

* Update App -> Item naming in MNTM settings

* Fix build

* Explain pressing right

* Update changelog

---------

Co-authored-by: WillyJL <me@willyjl.dev>
2025-07-22 01:51:33 +00:00
Willy-JL
8b8d3b2833 Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-27 01:48:29 +01:00
MX
e407c623e0 Revert "Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev"
This reverts commit ba4c4e528a, reversing
changes made to 16e4b9219a.
2024-09-26 21:58:50 +03:00
Willy-JL
62ce89e41e Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-24 05:47:20 +01:00
Anna Antonenko
15b271bd92 fix: cli autolock inhibit 2024-09-16 16:27:24 +03:00
Willy-JL
f438199c4a Desktop: Poweroff fallback when app unavailable (#208) 2024-09-06 04:42:25 +02:00
Willy-JL
b430f82e44 Fix some desktop keybinds oversights 2024-08-10 02:56:19 +02:00
Willy-JL
2b77091cac Desktop settings merge and refactor, keybinds improvements
- Keybinds in own code helper files
- Keybinds as flipper format, loaded only when ran, no limit on length
- Migrate from old keybinds
- Merge desktop settings refactors after LFS removal PR
- Statusbar clock setting in desktop settings like OFW
- Hand orient setting in system settings like OFW
2024-08-08 05:18:20 +02:00
Willy-JL
b8a6579379 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-05 20:05:13 +02:00
あく
4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01:00
Willy-JL
02f7207d28 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-15 22:18:35 +01:00
hedger
ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Willy-JL
b0ade62a0e Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-10 20:18:01 +01:00
あく
b12d43b765 Desktop: fix crash on autolock after restart in locked state (#3643)
* Desktop: fix crash on autolock after restart in locked state
* Desktop: switch to clock model to fix condition race in desktop lock.
2024-05-10 16:01:33 +01:00
Willy-JL
41e0b478a3 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-04-25 22:20:39 +01:00
あく
43c4381820 [FL-3814] Desktop: cleanup error popups (#3615)
* Desktop: cleanup error popups, add missing factory keys notification
* Desktop: enclave warning wording
2024-04-25 08:39:38 +09:00
Willy-JL
86dcd78175 Oops (semaphore vs apilock)
This reverts commit f89f775d78.
2024-04-05 20:26:42 +01:00
Willy-JL
cd906cafa2 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-04-05 01:52:23 +01:00
MX
ec4b8b8f5e Various fixes
fixes by Willy-JL
nfc parser by zacharyweiss
js widget and path globals by jamisonderek
2024-04-05 01:25:03 +03:00
Willy-JL
f89f775d78 Actually wait for animation unload (semaphore did not) 2024-04-04 21:07:46 +01:00
Willy-JL
c81a501670 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-04 20:05:55 +01:00
Sergei Gavrilov
5431257470 [FL-3765][FL-3737] Desktop: ensure that animation is unloaded before app start (#3569)
* Desktop: ensure that animation is unloaded before app start
* Desktop: unload animation only if it is loaded
2024-04-04 21:42:58 +09:00
Willy-JL
06aea09169 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-20 04:18:26 +00:00
あく
acc39a4bc0 Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00
Willy-JL
c4ac4e69b3 Fix some settings API usage/setup 2024-02-14 04:03:33 +00:00
Willy-JL
02d78d1a76 Remove unused desktop debug screen 2024-02-09 02:40:50 +00:00
Willy-JL
3406f005c4 Inhibit auto lock/shutdown on ASCII input 2024-01-17 22:43:36 +00:00
Willy-JL
d7aa3ea60f Make all service memory structures OFW comaptible 2023-08-29 01:57:06 +02:00
Willy-JL
1e2f2cc784 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild 2023-08-13 02:33:47 +02:00
MX
4b81046b6f Merge branch 'ofw-dev' into dev 2023-08-11 18:08:12 +03:00
MMX
f75fcd4e34 UI: Clock on Desktop (#2891)
* Clock on desktop
* Gui: gui_active_view_port_count
* Gui: move gui_active_view_port_count to private header, update docs
* Desktop: simplify desktop clock code
* Desktop: refactor clock
* Desktop: optimize clock code
* Desktop: 3rd cleanup round
* Desktop: 4th cleanup round, missing bits and pieces

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-11 01:10:15 +09:00
Willy-JL
72ed3660e5 Move desktop keybinds to external file 2023-06-29 18:35:35 +02:00
Willy-JL
decce5aa8d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-26 19:33:56 +01:00
MX
36102b8ee0 Merge branch 'ofw-dev' into dev 2023-05-26 12:03:49 +03:00
あく
080324f7e0 [FL-3315] Desktop,Rpc: desktop status subscription (#2696)
* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-05-25 23:22:31 +09:00
gid9798
1d5a4240b9 Clock: some improvements 2023-05-23 22:47:15 +03:00
gid9798
e40620fd10 clock 2023-05-22 22:45:16 +03:00
gid9798
544b6fea8a clock port 2023-05-22 11:42:27 +03:00
Willy-JL
782e91c6e2 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
Oh thank you OFW for your immense wisdom of shuffling code FOR NO REASON
Was it so difficult to add A SINGLE BOOL to lock with PIN or not?????
2023-05-11 15:35:27 +01:00
Willy-JL
a5cddc076e Merge branch 'ul-dev' into xfw-dev 2023-04-23 17:48:05 +01:00
Astra
74fe003f8b [FL-3171] Introduce stealth mode and auto-selective lock (#2576)
* Introduce stealth mode and auto-selective lock
* Stealth mode status bar icon
* Review fixes
* Fix icon disappearing after reboot
* Support overriding stealth mode
* FuriHal: correct reserved space size in RTC SystemReg

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 18:33:23 +09:00
Willy-JL
1eae24cf68 Animate lockscreen 2023-03-18 22:48:10 +00:00
Willy-JL
ea596dc94d Initial lockscreen redesign 2023-03-18 20:36:24 +00:00
Willy-JL
a5da60a028 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-03-09 17:30:39 +00:00
Astra
50ef5deefc [FL-3118] Dumb mode menu freeze fix (#2456)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-09 17:24:47 +09:00
Willy-JL
da2ce47bd3 Move sfw mode to custom app 2023-01-17 19:58:27 +00:00
VerstreuteSeele
7385a28ddd Remove unused code 2023-01-14 08:01:52 +01:00
jbohack
bb8999ce62 changed dummy mode to sfw mode 2022-12-26 02:24:55 -05:00
Nikolay Minaylov
d80329b323 [FL-2815, FL-2821] Dummy mode (#1739)
* Dummy mode implementation
* dumb -> dummy
* F7: Add new api_symbols: game icon
* Starting snake game from dummy mode

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-19 22:03:42 +09:00
MX
14bd8f2c49 ofw pr: dummy mode
OFW PR 1739 by nminaylov
2022-09-17 00:43:21 +03:00