Commit Graph

458 Commits

Author SHA1 Message Date
Maciej-Mudita
f4aaf4e302 [MOS-775] Create run-time statistics for tasks
Every hour, statistics of tasks that put a heavy load
on the CPU will be logged
2022-10-25 18:46:54 +02:00
Lefucjusz
9b7d5be07a [MOS-779] Fix music files extensions case sensitivity
Fix of the issue that only files with
extension in lowercase were detected
and listed in the music player's
library.
Additionally code cleanup.
2022-10-25 09:53:24 +02:00
Maciej-Mudita
1f9c6b4a51 [MOS-26] Add tethering info on status bar
When tethering is on, info appears in the status bar
and network coverage indicates "no connection"
2022-10-20 08:56:51 +02: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
Dawid Wojtas
b98e4395bb [MOS-395] Fix issue with inability to send SMS
Get rid of unnecessary separators which can be
problematic for cellular modem. Add modem soft
reset if send SMS message will fail.
2022-09-27 11:56:58 +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
Dawid Wojtas
e77b5d6702 [MOS-424] Improvement of logger module
Due to losing bytes the logger has a worker
which is responsible for dumping logs to
the file. The logger also has its own timer
to dump logs every 15 minutes. EventManager
is not responsible for interval dumping logs
now.
2022-09-15 11:58:09 +02:00
Lefucjusz
255d03a5da [MOS-677] Fix crash on importing unprocessable contact
Fix of the issue that phone crashed when trying
to import contact with phone number that couldn't
be parsed.
Additionally minor code cleanup.
2022-09-06 10:38:53 +02:00
Adam Wulkiewicz
074b33a645 [MOS-685] Make small improvements in various places of the code
- Forward arguments
- Remove unused code
- Remove auto return type when it's not needed
- Add const to member functions
- Use startsWith and endsWith from utils
- Allow instantiation of operators only for specific types
- Caluclate key mask in compile time
2022-09-02 01:12:47 +02:00
Adam Wulkiewicz
fe708cdf31 [MOS-670] Change clang-format AlwaysBreakTemplateDeclarations to Yes
Add --all and --fix-all options to style-check-hook
2022-08-26 15:22:39 +02:00
Adam Wulkiewicz
2edcb7e330 [MOS-101] Parse MMS notification and show [MMS] in message thread
The `[MMS]` notification is shown in message thread of the correct
number

- Add PDU WAP Push MMS Notification parser
- Use it in ServiceCellular to parse the raw message
- Refactor hexToBytes and bytesToHex utils
- Add endsWith util
- Add unit tests
2022-08-26 14:16:19 +02:00
Onufry Pajaczek
7c6af2c57f [BH-1542] Pure meditation fix and cetner TimeFixedWidget
*DigitsContainer definicions moved to cpp file(for proper linkage)
*DigitsContainer changed container to std::vector
*Fixed a bug in ProgressTimerWithBarGraphAndCounter where timerText was
treated as timeWidget
*MeditationCountdownWindow timer is now custom size
*Minus removed form MeditationRunningWindow timer
2022-08-18 09:12:36 +02:00
Mateusz Piesta
14f78ffc07 [BH-1552] Harmony crashes during startup
Fixed crashing device.
Bell temperature sensor refactor.
2022-08-12 14:40:56 +02:00
Bartosz Cichocki
228fca4b83 [MOS-463] Unify cellular namespace
Unified cellular namespace, fixed test buildiing,
removed some unused includes
2022-06-08 10:54:29 +02:00
Adam Dobrowolski
2b1ae19d62 [MOS-512] Fix build with gcc12
As in topic
2022-06-03 12:38:34 +02:00
Lucjan Bryndza
523eb6f577 [MOS-513] Fix issues related to the GCC12 gcc
Fix issues related to the GCC 12
Fix paths for ignore license headers
2022-06-02 13:24:09 +02:00
Lefucjusz
a5f621bc83 [MOS-487] Added call events state machine
Added tests and calls substate
bluetooth sm diagram created
All old bluetooth tests reviewed and updated
removed new - with queue it's not required
removed TODO
Co-authored-by: Bartosz Cichocki <sp2fet@gmail.com>
2022-05-26 16:19:02 +02:00
Adam Dobrowolski
2664e8ccec [MOS-487] Move switch case to sm
massive switch case removed
added logger
moved state machine implementation
added double dispatch
2022-05-26 16:19:02 +02:00
Lefucjusz
e221fe9218 [MOS-473] Long time to refresh network coverage fix
Fix of the issue that after the system has started
the network coverage wasn't updated for a long time
on the lock screen
2022-05-25 09:35:40 +02:00
Lefucjusz
683fb04385 [MOS-485] Utils::getNumericValue fix
utils::getNumericValue returned improper result
for uint8_t and int8_t types, this change
fixes it.
2022-05-16 13:29:04 +02:00
Adam Dobrowolski
3343f02809 [MOS-266] Call StateMachine implementation
With some tests, documentation and so on
2022-05-02 15:54:33 +02:00
Bartosz Cichocki
e7444ff39f [MOS-263] Fix DTMF handling in Pure
By accident, I've broke DTMF handling via Pure's keyboard
This was because of non strict description of API method.
Now, it has been unified to use ASCII code
2022-05-02 11:57:09 +02:00
Bartosz Cichocki
55bd8c0951 [MOS-263] Add HFP DTMF handling
Added handling of HFP DTMF code sending,
fixed DTMF sending in cellular's code
2022-04-28 17:49:36 +02:00
Bartosz Cichocki
d59ac56d51 [MOS-347] Separate A2DP from HFP in ProfileManager
Now, both profiles can operate separately. Additonally, minor
fixes has been applied to allow calling via car audio system.
Some infotainment systems still don't work though.
2022-04-25 10:26:38 +02:00
Kuba
106440c78d [MOS-326] Change call logic removed from call window
Call logic is now removed from call window and call app.
There was spaghetti logic mixed in window and app, now
call logic is based on notificatins from service cellular.
2022-04-22 12:59:29 +02:00
Adam Dobrowolski
1cb4da819d [MOS-307] Application and Service example and docs
Working example of application and service ready to copy from
with minimum documentation
Apply suggestions from code review
Co-authored-by:
* Paweł Olejniczak <58421550+pawel-mudita@users.noreply.github.com>
* Paweł Joński <79840715+paweljonskim@users.noreply.github.com>
* Bartosz Cichocki <sp2fet@gmail.com>
2022-03-28 08:17:39 +02:00
Marek Niepieklo
e65959b19c [MOS-45] Invalid number decoding
Added UT case for failing phone number
Fixed decimal semi-octet decoding (AKA ascii combination)
2022-03-25 11:33:11 +01: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
Adam Dobrowolski
053f270655 [MOS-282] Librarisation of services and test service
* options work a bit better ,now services and apps are
  selectable by option in cmake
* test service example added
* major documentation for module-services
* documentation for project configs and logs

Co-authored-by: Bartosz Cichocki <sp2fet@gmail.com>
Co-authored-by: Mateusz Piesta <mateusz.piesta@mudita.com>
2022-03-18 08:06:21 +01:00
Maciej Janicki
2b2bb13a49 [MOS-296] Merge remote-tracking branch 'origin/stable'
Merge stable Harmony branch into merge wip branch
2022-03-09 19:27:50 +01:00
Adam Dobrowolski
30487c6008 [MOS-110] Statistics api for system
Gets data from freertos and prints on frequency change depending
if it's important. Gathering is not costly, printing is though.
For less intrusive checks I would rather disable names gathering
as in worst case scenario it hangs rtos context switching till
thread id is found.
2022-02-17 16:46:56 +01:00
Alek Rudnik
60bdca5243 [MOS-104] Fix calllog responsivness with large number of contacts
Determined 3 reasons of lag
1. each calllog app opening is sending db::query::calllog::SetAllRead
which marks all calllog database entries as read and send CRUD
notification to application and hence the list view is rebuilt at least
twice for each app opening.
After deeper investigation it seems like dead feature (at least not
covered in GUI) and I am going to disable it.

2. DBServiceAPI::MatchContactByPhoneNumber requested for empty string
(private number) take really long time (above 1s).

3. DBServiceAPI::MatchContactByPhoneNumber took about time 150-200ms

This patch fixes only issues 1. and 2. Number 3. requires further
investigation and is consider as separate issue.

After mentioned fixes calllog is pretty responsive but requires ~2s
for each app start or page change.
2022-02-14 09:45:19 +01:00
Marek Niepieklo
a4a00312fe [CP-1073] Stack overflow in utils::filesystem::generateRandomId
Allocating large objects on heap
Moved out generateRandomId() to utils namespace
2022-02-09 15:47:53 +01:00
Mateusz Piesta
aca0bb93e4 [BH-1383] Battery scaling table
Fixed battery SOC scaling.
2022-02-01 15:20:12 +01:00
Mateusz Piesta
c1391090c6 [BH-1389] Catch2 unit tests optimization
Removed redundant recompilation of catch2 main
resulted in over 20% speed up of unit tests compilation.
2022-01-26 15:04:23 +01:00
Mateusz Piesta
1946d53efa [BH-1333] Battery subsystem refactor
Interfaces clean up.
Fixed logic flow.
Fixed various bugs.
2022-01-21 13:48:10 +01:00
Pawel Olejniczak
999ca7a67f [EGD-8124] Allow to use dashes, parenthesis and dots in phone numbers
Phone number validation in input field was too restrictive,
which caused error during attempt to save correctly
formatted phone numbers.
2022-01-20 10:55:41 +01:00
Pawel Olejniczak
f1465ed3b2 [EGD-8055] Sort language list
Language selection list is now sorted alphabetically.
2022-01-13 17:01:20 +01:00
Alek Rudnik
9cf11913a1 [EGD-8129] Add atexit functionality
Added atexit functionality. All global destructors and functions
registered with atexit() should be called at program exit.
It was possbile to reuse original newlib implementation with
MALLOC_PROVIDED flag set.

Made sure logger destructructor is called as last one.

Due to mudita OS legacy, it was not possible to simply fix dependencies
in global objectes and hence there are neither global objects
destructors nor functions registered with atexit() called when exit()
is called.
Possibly it will be changed later.
2022-01-05 13:59:51 +01:00
Adam Dobrowolski
0ec9428917 [EGD-7773] Popups stack poc
Stack plus minimum tests added
Updated to master
Removed useless or adressed TODOS
Constants name applied
Renamed searchModel to searchRequestModel
Review applied
We should remove legacy window names
Bell names fixes
2022-01-04 13:01:23 +01:00
Mateusz Piesta
3b591c1a92 [BH-1332] I18n update
i18n correctly loads languages
with special characters.
2022-01-03 16:20:13 +01:00
Mateusz Piesta
1ae0f91a22 [BH-1288] Special characters support
Added support for special chars to i18n.
2021-12-16 15:32:45 +01:00
Adam Dobrowolski
76c924fd5e [EGD-8002] Added SSP, fixed some minor issues, removed obsolete code
ssp seems working
minor crash fixups
copy lacks patched
obsolete code removed
Devicei tests added for added code and cleanup
Added missing tests for new functions
Code cleaned up a bit - mostly moved to cpp
2021-12-09 12:42:33 +01:00
Przemyslaw Brudny
376bbf3df7 [EGD-7922] Added InputEvents Debug option
Added Debug flag for InputEvents in EvtManager and Application.
2021-12-06 15:39:10 +01:00
Kuba
c720ce543a [EGD-8001] Fix enable cellular logs
It will be possible to debug cellular now.
2021-11-24 12:18:49 +01:00
Przemyslaw Brudny
7cc452503e Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp
2021-11-17 00:19:59 +01:00
Przemyslaw Brudny
5398907b6f [EGD-7158] Added text paste into Phonebook
Added text paste into Phonebook. Added save
verification.
2021-11-16 18:47:49 +01:00
Alek Rudnik
65d67e2690 [EGD-7948] Extend log dumping
Log are now dumped:
* on system shutdown including hard faults and aborts
* every 5 minutes

Fixed some logs
2021-11-16 17:56:28 +01:00
Marek Niepieklo
b5749912a9 [CP-825] Interrupted transfer to FS endpoint may corrupt the filesystem
Using std::fstream for file I/O at every file access in FileContext.
Reworked file opening/closing to happen on each file chunk
read/write, so that a file isn’t left open in case of an error
or transfer cancelation.
Separeted RxID and TxID for reliable cancelation of stalled xfers.
2021-11-16 10:50:54 +01:00