Commit Graph

163 Commits

Author SHA1 Message Date
Lefucjusz
6059ac716e [BH-2034] Various cleanups and refactors across the OS
* 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.
2024-08-09 09:13:30 +02:00
Lefucjusz
2f33cc211a [MOS-1063] Fix device freeze after onboarding in Spanish
Fix of the issue that Pure would freeze
before displaying the last onboarding
screen if the language set during
onboarding was Spanish.
2024-02-20 13:11:43 +01:00
Maciej Gibowicz
3f38b150ec [BH-1846] Reducing power consumption while the application is running
Replacing double with float in rendering a circular progressbar results
in a significant reduction in the demand for computing power, which in
turn translates into reduced power consumption in all applications using
a circular progressbar.
2024-01-05 11:59:37 +01:00
Lukasz Mastalerz
d9a1194e6f [BH-1688] Create a standard for logs
* Adding document describing how to use logger
* Adjusting logs to follow a new guide
* Change order in log header:
  line number is now before function name
2023-10-23 15:17:44 +02:00
Lefucjusz
69a7c63417 [MOS-1031] Fix Meditation app screen lock
Fix of the issue that Meditation app
would prevent phone from locking on
every screen, though it should do
so only on timer screen.
2023-09-06 11:00:27 +02:00
Lukasz Mastalerz
d783c5c89a [CP-1938] UI issues when uploading multiple copies of a specific file
Fixed problem with badly calculating characters to show which cause a
problem with displaying text on UI.
2023-04-13 09:07:14 +02:00
Lefucjusz
43d3a71eda [MOS-166] Unify grey color levels
Unified gray color levels used for texts
displayed in GUI.
Fixed issue with 'No calls yet.' text
not displaying.
2023-02-23 15:23:08 +01:00
Lefucjusz
25a8f781ee [MOS-199] Change unknown char glyph to match with design
Fix of the issue that glyph displayed as
a substitute for unsupported character
was different than the design suggested.

Additionally minor code cleanup.
2023-02-10 17:18:45 +01:00
Lefucjusz
eef08b0d7c [MOS-828] Fix 'j' glyph issue in Contacts app
Fix of the issue that email, first name and last
name fields were not able to display strings that
started with 'j'. Nothing was shown in such case.
2023-01-03 10:46:48 +01:00
Marcin Zieliński
85a62195a2 [MOS-859] Add missing font glyphs logging
This facilitates text issues debugging
2022-12-23 10:22:05 +01:00
Adam Wulkiewicz
57b5eb3da5 [BH-1557] Change Harmony home screen font to bigger one
Fix AM/PM font on one of the home screens, change it to normal size/

Fix type of FontInfo members representing spacings, chane them to signed
integers.
2022-11-09 13:10:10 +01:00
Adam Wulkiewicz
49bbaf51a0 [MOS-550] Improve refresh of the display
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.
2022-10-11 20:00:33 +02:00
Adam Wulkiewicz
f7771013f9 [MOS-550] Revert - Implement eink partial refresh
This reverts commit 41d6e786b6.
2022-09-27 13:14:54 +02:00
Adam Wulkiewicz
41d6e786b6 [MOS-550] Implement eink partial refresh
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.
2022-09-22 15:50:30 +02:00
Paweł Joński
d6fdeb32dc [MOS-288] Split default and fallback fonts to separate entries
And fix emojis display
2022-03-29 16:35:08 +02:00
Paweł Joński
e833690c8f [MOS-288] Add community build
Add community build
Add targets for community fonts
2022-03-22 12:40:15 +01:00
Przemyslaw Brudny
4dd045f30f [EGD-3544] Label replacement with OneLine text
Label replacement with OneLine text. Style and usage fixes.
2022-01-20 12:10:31 +01:00
Lucjan Bryndza
778118dac0 [EGD-7658] Fix unsafe usage of std::filesystem::file_size
Find and fix unsafe usage of the file_size in the MuditaOS
filesystem

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-11-24 06:29:41 +01:00
Maciej Janicki
bd79db0504 [BH-1073] Add missing asset debug flag
Because Harmony uses Pure components,
a lot of debug infromation is generated
with missing assets. Therefore, we need mechanism
to stop those messages for release before refactor
of shared window components is done.
2021-10-27 11:49:59 +02:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Alek Rudnik
51c9df2151 [EGD-7725] Minor clean ups and removal of dead code
Minor clean ups and removal of dead code
2021-10-08 10:28:38 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
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>
2021-09-23 15:14:40 +02:00
Piotr Tański
90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00
Mateusz Grzegorzek
5de4027e86 [BH-701] Use TimeSetFmtSpinner in Alarm app
Fix default font issue
2021-08-11 15:38:51 +02:00
Jakub Pyszczak
d39078405c [EGD-7007] Removed sensitive data from gui
Sensitive data removed from logs in module-gui.
Commented out legacy code removed.
2021-07-05 10:18:26 +02:00
Wojtek Rzepecki
f8e05f0b21 [EGD-2949] Fix fallback image
Added fallback image in case
of missing image asset
2021-06-16 14:43:06 +02:00
Mateusz Grzegorzek
34a0d6109a [BH-393] Create separate math lib
Create separate math lib from Math.hpp file.
2021-06-14 11:36:19 +02:00
Lukasz Skrzypczak
2911b6b4a1 [BH-378] PR changes
PR changes - mainly includes
2021-06-08 12:24:29 +02:00
Lukasz Skrzypczak
4ec617b158 [BH-378] Style fixed
Fixed style
2021-06-08 12:24:29 +02:00
Lukasz Skrzypczak
7fee0d9cfb [BH-378] Utils move log to library
Moved log to separate library
2021-06-08 12:24:29 +02:00
Tomasz Sobkowiak
0d7bae0a55 [EGD-3109] Use more appropriate type instead of raw types
Position and Length used instead of raw ones
2021-05-05 09:12:29 +02:00
Piotr Tański
aad6c64a54 [EGD-6415] Do not silently crash on empty image name
Image should not silently crash with empty or incorrect image name.
2021-04-01 15:54:10 +02:00
Piotr Tański
efef7dcf7f [EGD-6111] Timers refactored
Deep refactor of system timers.
2021-03-19 14:09:35 +01:00
Wiktor S. Ovalle Correa
3b141041e9 [EGD-5737] Merge master into experimental
Keep experimental up to date with changes from master
2021-02-17 17:09:37 +01:00
Tomek Sobkowiak
be66c10888 [EGD-5347] Replace filelength with file_size
Replace use of filelenght with std::filesystem::file_size
sqlite3vfs is using file descriptors so filelength is just renamed
2021-02-17 17:07:41 +01:00
Maciej Janicki
de3b05d64d [EGD-5722] Fix color test scheme change
This commit fixes full white color not being changed by Color Test
window in case of clear command and vector images.
2021-02-12 14:35:40 +01:00
Maciej Janicki
bb59805a8e [EGD-4822] Add color test window to settings app
Add new window to allow convenient display and globally
change used color intensities  for design and testing purposes.
Changes were introduced to Renderer as well as GUI service
to allow global change of used color scheme.
When using list, screen is deep refreshed each
time the color is changed.
Known issues:
Item focus borders (top,bottom) with changed black intensity
may not render properly, however it doesn't obscure the
target functionality.
2021-02-04 13:34:04 +01:00
Maciej Janicki
e6fdf0e22c [EGD-5333] Change renderer to follow command design pattern
Changes draw command implementation to properly follow
command design pattern. All drawing commands have been
moved to separate inheriting draw commands from renderer.

Other changes:
- New draw methods overloads have been added to pixel renderer.
 Now pixel rendering methods are in one class.
- Simplified draw commands naming.
- Changed variable naming in draw commands to be more verbose.
- Changed {x,y} pairs to Points where possible.
2021-02-03 16:24:48 +01:00
Przemyslaw Brudny
fbfd08cfea [EGD-5523] ListView OnPageElement and Options refresh
Added new OnPageElement listView rebuild type. Created new
options refresh. Refactored DisplayLight Setting. BarGraph rector.
Added step render limit for small radius arcs.
2021-02-03 09:57:21 +01:00
alek
8370b97cba [EGD-5155] Change Timers debug functionality
Enhanced Timers debug functionality.
2021-01-18 21:28:36 +01:00
Piotr Tański
3f29c30bed [EGD-4968] Change GUI service to optimize flow and memory management
Gui and Eink services refactor.
Displaying frames performance optimization.
Critical resources management.
2021-01-08 16:36:12 +01:00
jimmorrisson
14918dc4f9 [EGD-4925] Change new filesystem handling implementation in module-gui. (#1193)
Due to vfs deprecation there is need to remove all vfs calls from code. This PR covers module gui. There are some modifications in other modules included which are necessary because of build system issues.
2020-12-16 15:23:11 +01:00
Marcin Smoczyński
486d21af0e [EGD-4288] refactor global data (#959)
Reduce firmware size by refactoring global data defined in public
headers.

Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
2020-11-04 18:24:39 +01:00
Adam
8bab7f0031 EGD-3585 ServiceGUI and ServiceEink initial cleanup (#953)
* EGD-3585 SerwiceGUI and ServiceEink initial cleanup

* moved code to one function per message handling
* removed dead code from comments
* added Service.cpp demangling to debug messages for clear output
* added Response value to return messages to `connect()`
2020-11-03 17:27:00 +01:00
Adam
64db7d8327 EDG-3585 Small fixup for refresh & cleanup in buildDrawLists (#916)
* EGD-3585 Minor refresh fixup&  Normalised buildDrawList everywhere
2020-10-30 10:13:47 +01:00
Przemyslaw Brudny
e131dae68f [EGD-3743] Removed old doxygen copyright statements from project. 2020-10-20 12:55:10 +02:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Piotr Tanski
fdb2cfdb5a [EGD-3597] Shape rendering refactored. (#827) 2020-10-14 12:24:41 +02:00
Piotr Tanski
f5aec0444a [EGD-3838] Introduced a meditation progress bar with simple implementation of meditation application. (#783) 2020-10-09 14:14:40 +02:00
Adam
f5f27d642f EGD-2955 EGD-3588 Timers fully refactored & updated (#721)
* 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
2020-10-02 14:04:57 +02:00