Introduce a new way to handle query responses allowing to deal with
races:
- bind reponse with request,
- handle responses with an observer-like interface.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
* [EGD-2835] thread table based sms not read notifications
* [EGD-2835] removed redundant read field from sms db table
* [EGD-2835] clear unread status of a thread if thre thread is open
* [EGD-2835] updated database documentation
* [EGD-2835] added changelog
Refactor phonebook's models to merge both implementation. One model
class is used for both main and search results windows.
Improve search by matching entered string against:
- first_name " " last_name
- last_name " " fist_name
Sort results by last_name " " first_name, favs first.
Small improvement to the list view has been added to deal with
asynchronous db reads.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Use PhoneNumber::View instead.
Removed caching mechanism of ContactRecord, because it was causing
several problems and it was a bad place to put it anyway.
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>
* EGD-3087 WIP adding SMS Querry
* EGD-3087 Added query virtual interface on Service top layer
Service shouldn't implement query logic and should be proxying that.
additionally:
- small fixes in includes
- shared service db name same way as apps and event manager
* EGD-3087 Query - want to work on interface not on db
* EGD-3087 Query gluecode works fine. Our query in SMS search calls getBySMSQuery
Changes cut off before any potential orm interface layer
* EGD-3087 WIP Interface in use
* EGD-3087 Query for SMS search works as designed
* EGD-3087 Query results should be on screen
* EGD-3087 BUG workaround - need to deep refresh display to show data
* EGD-3087 Searching for text from input works fine
* EGD-3087 Showing results / or empty results depending on query
* EGD-3087 Pre PR fixups
* EGD-3087 Empty search - getting back to prewious window ignore current
* EGD-3087 PR applied
* EGD-3087 PR - style fixed
* EGD-3087 Review - DB ListView handling moved to separate function
* EGD-3087 Workaround: crash on use after free fix
* EGD-3087 PR stylistic changes
* EGD-3087 PR cleanup applied
* EGD-3087 Added test for Query interface
* EGD-3087 renamed getByQuery to getQuery & finished tests
* EGD-3087 Post rebase fixup
* EGD-3087 PR - moved ListView request part to separate function
* EGD-3087 PR Fixups
* EGD-3087 Post rebase style fix
* EGD-3087 Added variable for DB service stack & const to getter function
Fix empty calllog title when number comes in national format. The
problem was caused by:
1. making assumption that every number from cellular network comes in
e164 format which is not true,
2. using e164 number when looking for contact matching calllog entry
without checking if e164 exists for calllog entry.
Fix problem by:
a.d.1 - replacing `PhoneNumber::viewFromE164` with less strict
`PhoneNumber::Parse` method which basically is a convenience method
which creates `PhoneNumber` entity and uses it to create a `View`.
a.d.2 - instead of fetching e164 directly introduce `getNonEmpty` method
of a View, which returns e164 number if it is present and entered number
otherwise.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
* [EGD-3188] new sms window - fix layout and functionalities
* [EGD-3188] sending sms from calllog and phonebook
* [EGD-3188] aborting the incoming call via sending sms template
Unufy sms ui common actions to use libphone number only
added default option to contactrecrord::getformattedname method
* [EGD-3188] fix for siwtching back from sms template window when the call is aborted
* [EGD-3188] PR fixes
Use specialized class to to pass phone number between apps and services
instead of ambigious std::string. Introduced class (utils::PhoneNumber)
wraps calls to libphonenumber providing more convienient interface.
However using libphonenumber directly may be resource hungry in terms
of stack, heap and cpu usage, so helper class has been introduced to
pass information about phone numbers (utils::PhoneNumber::View). It is
designed to maintain integrity thus can be created from an instance of
utils::PhoneNumber only or moved/copied to.
Add new field to the calllog db holding e164 formatted number. Both
entered and e164 numbers will be needed to be able to match with
contacts correctly.
Add constexpr information about country codes (utils::country).