Commit Graph

469 Commits

Author SHA1 Message Date
Mateusz Piesta
44ef5ddd5f [MOS-807] Unpacking update package
* Added unpacking and validating of
update package
* Removed 'utils-bootconfig'
* Added 'tar' module
* Minor compilation issues fixed
2023-01-19 16:41:56 +01:00
Lefucjusz
e33468f54f [MOS-783] Change boot.bin to os.bin
Change the confusing system binary name.
2023-01-19 16:41:56 +01:00
Bartosz
a4406ec5a7 [MOS-783] Fixed tests and simulator for Harmony
Fixed tests and simulator for Harmony
after implementation of new filesystem
structure.
2023-01-19 16:41:56 +01:00
Lefucjusz
eeafb5f1be [MOS-783] Moved battery config file to '/user/data'
Moved battery config file from root
directory of user partition to
'data' directory to comply with
new directory layout design.
2023-01-19 16:41:56 +01:00
Lefucjusz
215e4d96b7 [MOS-783] Fixed Pure unit tests
Fixed (most of the) hardcoded
paths in Pure's unit tests.
2023-01-19 16:41:56 +01:00
Lefucjusz
afd7e7bc2c [MOS-783] Working Pure simulator after partition changes
Fixed iosyscalls so that Pure simulator
works after directory structure changes.
2023-01-19 16:41:56 +01:00
Lefucjusz
178fba165e [MOS-783] First part of new dir structure implementation
Works:
    - generating .img for Pure;
    - Pure boots after flashing new image and
    seems to be working fine;

    Not yet:
    - generating update package;
    - generating image for Harmony;
    - simulator;
    - path-related unit tests fail
    due to paths being hardcoded
    in test scenarios.
2023-01-19 16:41:56 +01:00
Maciej-Mudita
4bd7b1acf4 [MOS-275] Fix alarm rings on the low battery screen
When we had a critical battery level and the alarm clock rang,
it was impossible to turn it off.
2023-01-19 12:07:19 +01:00
Lukasz Mastalerz
157cea8acb [CP-1512] Add crashdumps indexing
Adding indexing to crashdumps to to ensure resistance to the device date
retraction.
When max crashdump count reach the file with higher index number will be
remove.
2023-01-19 11:29:12 +01:00
rrandomsky
0342eb50c8 [MOS-737] Fix for adding a country code prefix to existing contact
Adding or removing country code from existing contacts number is
changing now number record itself, exactly when changed number
is placed in DB, instead to create new number record, to avoid
miss match during matching numbers.
2022-12-21 14:55:30 +01:00
Maciej-Mudita
d528cac7df [MOS-641] Fix SIM cards window
Creating menus and actions depending on the SIM card
lock status.
2022-11-22 09:49:55 +01:00
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