[MOS-770] Replace VoLTE state switching mechanism
Thrown out the previous implementation.
[MOS-744] Fix MTP integration
Fixed issues with integration
of MTP with filesystem:
- fixed memory corruption in
get_disk_properties();
- removed spare space hack
causing MTP to return invalid
free space and capacity of
the storage;
- added mtime and ctime
handling;
- minor code cleanup.
[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.
[BH-000] Disable refresh cancel log
Put it behind #ifdef like the rest of eink refresh logs.
[MOS-26] Add tethering info on status bar
When tethering is on, info appears in the status bar
and network coverage indicates "no connection"
[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.
[MOS-713] Fix access to the phone before going onboarding
Before accepting the EULA,
the user may fully use the Mudita-Center.
[MOS-242] Fix windows flow after PIN mistakes
After too many PIN mistakes during a PIN change,
the user saw distorted windows instead of a PUK
request. Now, this has been fixed.
Also, a typo in a translation has been corrected.
[MOS-738] Fix receiving an empty SMS message
Checking how many parts the modem sent
and then catching an exception in case of an error.
[CP-1536] Fix storage memory overflow
The user was able to upload more files than there was free space.
In addition, the difference between the declared free space
through MTP and MC has been corrected.
[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.
[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.
[MOS-504] Mixed SMS messages
Refactor the old part of SMS handler and
parse the concatenated messages using
std::unordered_map and std::map. Added
unittest to the SMS parser.
[MOS-686] Fix the accessibility of user files by MTP
User files accessible via MTP only if phone is unlocked
[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.
[CP-1560] MTP root path
Make MTP root path configurable.
[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.
[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