There was possibility to add contact, or edit some contact, with have
2 same phone numbers (exactly the same or witch/without country code).
Now this has been fixed and is not possible to create, even by editing, contact
with 2 exactly the same numbers or 2 same numbers and one of them with a country code
Fix for scenario when contact with some number with/without country code
was deleted, and new contact with same number but without/with country
code is added and then new contact have same prefix as deleted one.
Now new contact will have number exacly like provided.
Fix for imported contacts from SIM don't show up in Mudita Center.
Added functionality to send notification after all imported contacts are
added to the database.
Added checking if requested to restore backup
from pre-UDM version and setting db versions
to zero in such case, as version info file
(called backup.json in legacy backups) doesn't
contain info about versions.
* Switched to DB initialization at compile time
* Organized and cleaned up db files directories(not finished completely)
* Fixed DB related unit tests
* Minor improvements to CMake
* Small fixes for GCC12 build
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.
Adding or removing code country from contact's number creates a
new number record. Old number, which was connected witch contact
previously, is removed from the numbers table to avoid miss match
numbers. Changing country code only creates new number records,
without removing old ones. Old ones are temporary number from now.
It appears in the past a major edit was made but had used a regex to
change some text which resulted in an errant space between the
enumuneration/struct/class name and the scope resolution operator.
These errant spaces have been removed.
Vfs init.
Convertion time string to unix time returns 1 hour later than should.
DatabaseInitializer stub that just creates empty dbs with table
structure but without data. Notification table initial records moved
to Database Initilize section. UT run with a stub of Database
Initialize - new test section introduced to test original
initializer: test-initializer.
Added missing data for contacts db to run the sorted list test
and test fix.
The dangling ptrs derefencing freed memory has been fixed.
They caused the tests to trigger the ASan. Additonally, in some tests
where DB objects were allocated dynamically, they are now allocated
automatically on the stack to simplify the code.
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.
Change filename of internationalization files from i18 to i18n.
I18n should stand for internationalization, not i18. That's why I changed in 'module-utils' name of the folder 'i18' and both .cpp and .hpp files to 'i18n'.
Fix duplicates detection when updating a contact.
Before this change dupliates detection both for numbers and speed dial
was not implemented at all.
Fix contact update procedure - add unbinding procedure if a new number
was bound to another contact before update. Do the same for speed dial.
Fix invalid contact number tests (it wasn't taken into account that each
section has clean db state).
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Add proper catch2 support:
- add catch2 as a submodule
- add cmake function to add test easily
- discover each test in test binary
- remove copies of catch.hpp
- do not try to process tests for rt1051
Do not test internals of utf8, only public interface (nasty bugs could
occur otherwise).
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Introduced format aware phone number comparison to allow improved
matching phone numbers with contacts.
Phone numbers are also displayed formatted on a phonebook/calllog
list view and on detailed contact info view.
Entered and e164 number are verified to match each other during
processing db request.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>