Commit Graph

51 Commits

Author SHA1 Message Date
Willy-JL
e4f8d39041 Shared code for loader gui error 2023-07-01 16:12:49 +02:00
Willy-JL
565713ba98 Temp fix for input hang on loader error on keybind 2023-07-01 11:44:12 +01:00
Willy-JL
afb6770f92 Format 2023-06-26 01:05:31 +01:00
Willy-JL
24c73c9460 Add back API mismatch ignore dialog 2023-06-26 00:54:53 +01:00
Willy-JL
5a38c821ef Add back app names translation for RPC 2023-06-26 00:21:14 +01:00
Willy-JL
cc5bb03b86 Add back extmainapps 2023-06-26 00:17:26 +01:00
Willy-JL
64ecdc0c45 Format 2023-06-25 23:53:43 +01:00
Willy-JL
ef0203f778 Add back loader_show_settings 2023-06-25 23:53:11 +01:00
Willy-JL
560233c700 Move apps first in main menu 2023-06-25 22:51:00 +01:00
Willy-JL
71d1c1d0f1 FAPP(TM) support 2023-06-25 22:39:15 +01:00
Willy-JL
ab8295848e Fixes 2023-06-25 21:45:21 +01:00
Willy-JL
1a0f51bd25 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-06-25 20:57:33 +01:00
Willy-JL
99cd94f39f Revert extmainapp stuff 2023-06-25 20:35:40 +01:00
Sergey Gavrilov
761a14e6e2 [FL-2837][FL-3270] Loader refaptoring: second encounter (#2779)
* Core: rename internal FlipperApplication to FlipperInternalApplication
* FAP Loader: move load_name_and_icon to flipper_application library
* Loader menu: rework api
* View holder: move to gui service
* Loader: simple "loading" worker
* Loader: applications dialog
* Loader: fapping
* Update f18 api
* Apps: remove fap_loader
* Libs, flipper application: store args, rename thread allocation
* Loader: error handling
* Apps: use loader error handling
* Loader: documentation
* FBT: accomodate loader
* Loader: do not raise gui error if loader is locked
* Archive: accomodate loader
* Loader: fix loading message
* Flipper: drop some old dolphin legacy
* Loader: generalize error construction

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-23 21:01:40 +09:00
Willy-JL
4ff29e8910 Revert "Preload extmainapps"
This reverts commit fc56e39075.
2023-06-23 00:46:34 +01:00
Willy-JL
8a317a793c Fix services order 2023-06-01 01:41:09 +01:00
Willy-JL
33b8519202 Option to preload extmainapps or not 2023-05-28 17:03:23 +01:00
Willy-JL
fc56e39075 Preload extmainapps 2023-05-28 00:27:58 +01:00
Willy-JL
faa2e0e8c0 Init ext app list before 2023-05-21 19:35:02 +01:00
Willy-JL
4fac1700e1 Fix android emulate / crash on connect (app names) 2023-05-20 20:09:31 +01:00
Willy-JL
24dd4336c4 Dont reload ext main apps data on each menu open 2023-05-06 02:53:21 +01:00
Willy-JL
8fa7d16c5f Merge branch 'ul-dev' into xfw-dev 2023-05-06 01:43:09 +01:00
あく
914129a0d9 [FL-3289] Various Furi/FuriHal bug fixes and improvements (#2637)
* Furi: properly handle thread free before TCB scrapping, add furi_free - more invasive version of free to memmgr. FuriHal: add DWT comparator api to cortex. Updater, RPC: refactor various thread shanenigans. Code cleanup.
* Rollback free macros and related changes
2023-05-05 21:40:55 +09:00
Sergey Gavrilov
a7d1ec03e8 [FL-3270] Loader refactoring, part 1 (#2593)
* Loader: menu part
* Settings: remove unused loader api
* Desktop: get loader from record_open
* CLI: remove unneeded loader api
* gitignore: ignore .old files
* Loader: now really a service
* Loader: working service prototype
* Loader: cli, system start hooks
* CI/CD: make happy
* Loader: autorun
* Loader: lock and unlock
* Loader: rearrange code
* Gui, module menu: fix memleak
* Updater test: add timeout
* added update timeouts and max run duration
* Github: revert updater test workflow changes
* Loader: less missleading message in info cli command

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-04 12:48:13 +09:00
Willy-JL
22e0d83ab7 Merge branch 'ofw-dev' into xfw-dev 2023-05-04 01:42:30 +01:00
hedger
c5b460b416 [FL-3260] Added API version to device info (#2611)
* hal: device_info: added API version to "firmware.api.major" & "firmware.api.minor"
* FuriHal: bump device info version

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:58:59 +09:00
Willy-JL
77d63731c9 Loader log arguments passed to app 2023-05-02 01:38:19 +01:00
Willy-JL
a6bc7f8abb Rework xtreme settings and assets implementation 2023-05-01 15:28:59 +01:00
Willy-JL
90e99fe794 Merge branch 'ul-dev' into xfw-dev 2023-04-07 23:40:28 +01:00
hedger
a91d319839 [FL-3162] Moved ufbt to fbt codebase (#2520)
* scripts: moved ufbt code
* ufbt: fixed tool path
* ufbt: fixed linter/formatter target descriptions
* scripts: ufbt: cleanup
* fbt: moved fap launch target to tools; ufbt fixes
* fbt: fixed missing headers from SDK
* ufbt: removed debug output
* ufbt: moved project template to main codebase
* ufbt: fixed vscode_dist
* ufbt: path naming changes
* fbt: error message for older ufbt versions
* ufbt: docs fixes
* ufbt: fixed build dir location
* fbt: fixes for extapps objcopy
* fbt: extapps: removed extra debug output; fixed formatting
* ufbt: handle launch target for multiple known apps
* ufbt: dropping wrapper; linter fixes
* ufbt: fixed boostrap path
* ufbt: renamed entrypoint
* ufbt: updated vscode config
* ufbt: moved sconsign db location
* ufbt: fixed sconsign path
* fbt: SDK builders rework
* fbt: reworked sdk packaging
* ufbt: additional checks and state processing
* ufbt: fixed sdk state file location
* dist: not packaging pycache
* dump commit json content
* Github: more workflow debug prints
* Github: fix incorrect commit meta extraction in get_env.py
* ufbt, fbt: changed SConsEnvironmentError->StopError
* fbtenv: no longer needs SCRIPT_PATH pre-set
* ufbt: fixed sdk state check
* scripts: exception fixes for storage.py
* scripts: fbtenv: added FBT_TOOLCHAIN_PATH for on Windows for compat
* ufbt: app template: creating .gitkeep for images folder
* ufbt: app template: fixed .gitkeep creation
* docs: formatting fixes for AppManifests; added link to ufbt
* fbt: added link to PyPI for old ufbt versions
* sdk: fixed dir component paths

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 10:44:37 +08:00
Willy-JL
265473dff6 Better integrate external main apps 2023-03-28 21:23:42 +01:00
Willy-JL
6f8e625df1 Reset settings subindex on open (lock menu) 2023-03-28 00:29:55 +01:00
Willy-JL
fb13943360 Lock menu fix main settings button 2023-03-25 00:25:06 +00:00
Willy-JL
09bc580497 Merge branch 'ul-dev' into xfw-dev 2023-03-17 23:52:05 +00:00
Willy-JL
3b52abd4f6 Load FAP icons for custom mainmenu apps 2023-03-15 16:38:37 +00:00
Willy-JL
d9c41b904d Load custom apps into main menu 2023-03-15 05:14:08 +00:00
Willy-JL
28593fbc43 Shorter app names (prep for wii ui) 2023-03-14 22:09:06 +00:00
hedger
53435579b3 [FL-3097] fbt, faploader: minimal app module implementation (#2420)
* fbt, faploader: minimal app module implementation
* faploader, libs: moved API hashtable core to flipper_application
* example: compound api
* lib: flipper_application: naming fixes, doxygen comments
* fbt: changed `requires` manifest field behavior for app extensions
* examples: refactored plugin apps; faploader: changed new API naming; fbt: changed PLUGIN app type meaning
* loader: dropped support for debug apps & plugin menus
* moved applications/plugins -> applications/external
* Restored x bit on chiplist_convert.py
* git: fixed free-dap submodule path
* pvs: updated submodule paths
* examples: example_advanced_plugins.c: removed potential memory leak on errors
* examples: example_plugins: refined requires
* fbt: not deploying app modules for debug/sample apps; extra validation for .PLUGIN-type apps
* apps: removed cdefines for external apps
* fbt: moved ext app path definition
* fbt: reworked fap_dist handling; f18: synced api_symbols.csv
* fbt: removed resources_paths for extapps
* scripts: reworked storage
* scripts: reworked runfap.py & selfupdate.py to use new api
* wip: fal runner
* fbt: moved file packaging into separate module
* scripts: storage: fixes
* scripts: storage: minor fixes for new api
* fbt: changed internal artifact storage details for external apps
* scripts: storage: additional fixes and better error reporting; examples: using APP_DATA_PATH()
* fbt, scripts: reworked launch_app to deploy plugins; moved old runfap.py to distfap.py
* fbt: extra check for plugins descriptors
* fbt: additional checks in emitter
* fbt: better info message on SDK rebuild
* scripts: removed requirements.txt
* loader: removed remnants of plugins & debug menus
* post-review fixes
2023-03-14 23:29:28 +09:00
Willy-JL
07edb7eea8 Format 2023-03-07 19:15:54 +00:00
Willy-JL
9416d512be Make xtreme app an external fap 2023-03-05 01:56:44 +00:00
Willy-JL
d1bbcb8f64 Use mainmenu icons for main external apps 2023-03-05 01:55:14 +00:00
Willy-JL
2e09232499 Support for external apps in main menu 2023-03-04 22:56:10 +00:00
Sergey Gavrilov
777a4d109d [FL-3055] Getter for application data path (#2181)
* Threads: application id
* Unit tests: appsdata getter test
* Unit tests: moar test cases for appsdata getter
* Unit tests: remove folders after test
* Storage: dir_is_exist, migrate, + unit_tests
* Plugins: migration
* Storage: common_exists, moar unit_tests 4 "common_migrate", "common_migrate" and "common_merge" bugfixes
* Storage: use FuriString for path handling
* Storage API: send caller thread id with path
* Storage: remove StorageType field in storage file list
* Storage: simplify processing
* Storage API: send caller thread id with path everywhere
* Storage: /app alias, unit tests and path creation
* Storage, path helper: remove unused
* Examples: app data example
* App plugins: use new VFS path
* Storage: file_info_is_dir
* Services: handle alias if the service accepts a path.
* App plugins: fixes
* Make PVS happy
* Storage: fix storage_merge_recursive
* Storage: rename process_aliases to resolve_path. Rename APPS_DATA to APP_DATA.
* Apps: use predefined macro instead of raw paths. Example Apps Data: README fixes.
* Storage: rename storage_common_resolve_path to storage_common_resolve_path_and_ensure_app_directory
* Api: fix version
* Storage: rename alias message
* Storage: do not create app folders in path resolving process in certain cases.

---------

Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 03:57:27 +10:00
Petr Portnov | PROgrm_JARvis
4265057ee8 feat: add missing const qualifiers (#2233)
* feat: make `ViewPort` getters const
* feat: make tx-buffers const
* feat: make `canvas_get_buffer_size` const
* feat: make `canvas` methods const
* feat: make `icon_animation` methods const
* feat: make `scene_manager` methods const
* feat: make `loader` method const
* feat: make `canvas_get_font_params` const

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 13:58:01 +09:00
Georgii Surkov
8582670a34 [FL-2811] Fix PVS-Studio warnings (#2142)
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-12-26 21:13:30 +09:00
あく
90cefe7c71 [FL-2975] Bug fixes and improvements: Furi, Input, Cli (#2004)
* Furi: configurable heap allocation tracking
* Furi: relax restriction in thread heap setter asserts, apply heap tracking setting on app start instead of thread allocation
* Furi: hide dangerous heap tracking levels in release build
* Input: fix non-working debounce
2022-11-12 12:46:04 +04:00
あく
c89e5e11a4 Furi: show thread allocation balance for child threads (#1992) 2022-11-09 21:33:09 +04:00
あく
e8913f2e33 Code cleanup: srand, PVS warnings (#1974)
* Remove srand invocation

* PVS High priority fixes

* PVS High errors part 2

* Furi: heap tracing inheritance

* Furi add __builtin_unreachable to furi_thread_catch
2022-11-05 18:07:24 +03:00
Nikolay Minaylov
1f742b611a [FL-2651, FL-2863] App name in CLI loader command, RFID data edit fix #1835
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 21:46:58 +09:00
Sergey Gavrilov
4bf29827f8 M*LIB: non-inlined strings, FuriString primitive (#1795)
* Quicksave 1
* Header stage complete
* Source stage complete
* Lint & merge fixes
* Includes
* Documentation step 1
* FBT: output free size considering BT STACK
* Documentation step 2
* py lint
* Fix music player plugin
* unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
* unit test: string equality
* unit test: string replace
* unit test: string start_with, end_with
* unit test: string trim
* unit test: utf-8
* Rename
* Revert fw_size changes
* Simplify CLI backspace handling
* Simplify CLI character insert
* Merge fixes
* Furi: correct filenaming and spelling
* Bt: remove furi string include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-06 00:15:23 +09:00