Modified signal strength update mechanism
to avoid unnecessary screen refreshes in
case new signal strength value is equal
to the previous one.
Minor cleanups.
* 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
Fix of multiple issues that manifested in
input fields of alarm clock, i.e. value
not erasing automatically, redundant
double-zero filling of hours field,
lack of zero-filling of minutes field
when navigating to AM/PM field in
12h mode.
Added info about product, OS version, commit hash
and serial number to log filename to simplify
triage and quick sanity check of the logs in
cases many log files have to be analyzed.
Added info about product, OS version and
commit hash to crashdump filename to
simplify analysis of the crashdumps
without corresponding logs available.
Fixes and optimizations in logger:
* fixed possible buffer overflow when logging
logs over line buffer size;
* reduced max log line length to 2048;
* moved pubsetbuf before file opening;
* log file stream buffer created once
in logger ctor;
* updatet UTs;
* additional minor cleanup.
Fixed issue with improperly created
weekdays abbreviations in Polish,
particularly 'Niedziela' (Sunday) that was
shortened to 'Nie', which also means 'No'
(negative response).
Fixed issue with remaining 'Edit' label
in navbar after leaving repetition field
in new alarm window.
Fixed hardcoded 'Custom' string used
as a repetition type text.
The system closes only if the SoC is 0%, but
it doesn't react if the voltage has low level.
The new implementation invokes the close
procedure if the voltage is less than 3.4V.
This solution should avoid possiblity to
hang the MCU.
In some cases, the system wasn't able to turn off
because the GUI service got stuck. The device
was still working in the background. The cause
was an empty queue in DrawCommandQueue which
hang the GUI worker.
The interface was modified and synchronization
mechanism was removed.
The thread no longer waits in dequeue().
Also changed the worker to close in the right
way the logger worker.
* Fixed issue with subtract operation triggering unusal behavior.
* Unified handling of the add,sub,mul,div operations.
* Updated and verified existing unit tests and added new ones covering
unhandled cases.
* Added basic requirements/readme.
The sending/receiving time information will be displayed as follows:
- Only an hour –> for today
- Yesterday and hour –> for messages received/sent yesterday
- Day of the week and hour –> for messages received/sent within
last 7 days
- Date (day+month) and hour –> for messages older than week,
but still from the same year
- Date (day+month+year) and hour –> for messages
rom previous years
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.
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.
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.
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.
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.
- 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
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
*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