* Removed some legacy files that were
compiled, but not used anywhere.
* Cleaned-up ImageManager and
FontManager implementations, trying
to use RAII wherever possible.
* Fixed minor bugs in Font.cpp
implementation.
* Removed unused includes.
* Other minor cleanups and refactors.
* Fix of the issue that choosing French
or Spanish as a system language
resulted in no input language selected.
* Added keyboard input parser unit
tests for French and Spanish input
maps.
* Minor cleanups.
1. Implement partial refresh.
2. Implement refresh canceling mechanism.
3. Refactor some parts of the gui and display code.
ad 1.
- Detect parts of the screen changed since last update and merge them
into bigger regions. These regions defines parts of the context sent
to the display.
- Refresh the region covering all of the parts since this is the most
time consuming part and the size of the refreshed region doesn't
change the time much.
- Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts
in some cases.
ad 2.
- Separate display update and refresh logic.
- Divide image display message handling into two handlers, one updating
and other one refreshing the screen.
- Add cancel refresh message and use it to cancel refresh during update.
- Store sum of refresh regions gathered during updates to refresh them
all at once at the end.
Detect parts of the screen changed since last update and merge them into
bigger regions. These regions defines parts of the context sent to the
display.
Refresh the region covering all of the parts since this is the most time
consuming part and the size of the refreshed region doesn't change the
time much.
Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts in
some cases.
Refactor some parts of the gui and display code.
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Remove dependency to the production image by creating separate sysroot
for test assets alongside with a test image Test.img.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Introducing changes required for adding BellHybird target without
removing PurePhone.
Adden new targets:
* Pure (builds PurePhone and PurePhone.img)
* Bell (builds BellHybird and BellHybird.img)
* [PurePhone|BellHybrid]-[UpdatePackage|StandaloneImage)
Catch2 doesn't report some errors in test, and some test are
disabled on porpoise this commit adds set of scripts and changes to CI
that will clearly mark what test haven't been run.
Changed keyboard input language parser to parse JSON files.
Removed all KPROF files and added JSON.
Added unit tests for new parser.
Modified document about adding languages.
* [EGD-4075] Use FAT fs in the emulator
Add script for genrate base phone image
* [EGD-4075] Use FreeRTOS-FAT in emulator initial commit
* [EGD-4075] Thread local storage fix
Fixing thread local storage when running on the
Linux platform in the test mode
* [EGD-4075] Improve image generation
Improve image generation script on the linux platform
* [EGD-4075] Fix all test with FAT fs image
Fix all tests with fatfs image
* [EGD-4075] Fix calculator utility test
* [EGD-4075] Image dependencies fix
* Remove uneeded comments
* Missing headers in CR
* [EGD-4075] Fixed whitespaces
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* Timers now are Application thread safe
* Timers now have consistent API independend of Application (no more c style timers)
* Timers can have either: callback or override onTimer() method - this
way we can create more complicated timers or just use existing ones
* gui::Timer added via adapter class GuiTimer to decouple sys::Timer
with gui::Timer
* Fixed race in wrapper
* Updated docs
* fixed using std and cpp_freertos and DataReceivedHandler hidden in Application.hpp
* EGD-3229 text helper classes added with tests - used in tests, plus misc utils needed
No major actual functionality changed - TextClasses added with this PR
are used in tests only in this commit.
* classes needed to rewrite gui::Text added
* some utilities needed to rewrite gui::Text added
* tests added
Add proper catch2 support:
- add catch2 as a submodule
- add cmake function to add test easily
- discover each test in test binary
- remove copies of catch.hpp
- do not try to process tests for rt1051
Do not test internals of utf8, only public interface (nasty bugs could
occur otherwise).
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>