Contacts
Description. The project demonstrates working with the Contacts API. For this purpose, the Aurora Contacts library is used, the connection of which is presented in the project. The application implements viewing the contact list of the phone book and contact info, tracking changes, sharing via Qr code and exporting to a vCard file(.vcf), creating a contact by exporting it to a vCard(.vcf) file.
You can read more about Contacts API here.
Table of Contents
- Table of Contents
- Compatibility
- Features of build
- Branch info
- Install and Run
- Screenshots
- Use cases
- Restrictions
- Project Structure
- Terms of Use and Participation in Development
Compatibility
The project is compatible with Aurora 5.1.5+ OS versions.
Features of build
This example being built using the Aurora SDK in the usual way: Documentation.
Branch info
Install and Run
The project being installed and run in the usual way using the Aurora SDK: Documentation.
When you first launch the application, you must grant it all the required permissions.
Screenshots
Use cases
Features of adding a new contact
- press the "+" button on the main screen
- fill out the form and click "share"
- click export to file: a file is created and then the file manager opens and shows the created contact. Then you can import the contact by selecting file opening via the standard contacts application.
Restrictions
Bugs in the Contacts API:
- When a contact is requested by id using
void ContactsManager::queryContact(int id)
, a signal with the requested contact is received[signal] void ContactsManager::contactAvailable(Contact &contact)
. But the ContactID of the contact coming in the signal is always 0 for any id. However, the rest of the contact information is correct. - The
Phone::PhoneType Phone::getType()
method always returns the contact type equal to the number 20 for all contacts and all contact numbers. - For the first contact entered into the database, changes are never received during next contact changes and the contact information has not changed since its creation.
The fix version is 5.1.6
Project structure
The project has a standard structure of an application based on C++ and QML for Aurora OS.
- CMakeLists.txt file describes the project structure for the qmake build system.
- icons directory contains the application icons for different screen resolutions.
-
qml directory contains the QML source code and the UI resources.
- cover directory contains the application cover implementations.
- components directory contains a custom qml components.
- js contains JS functions.
- pages directory contains the application pages.
- PhoneContacts.qml file provides the application window implementation.
-
rpm directory contains the rpm-package build settings.
- ru.auroraos.PhoneContacts.spec file is used by rpmbuild tool.
-
src directory contains the C++ source code.
- contactscontroller.h & contactscontroller.cpp files implement the main application class.
- contactsmodel.h & contactsmodel.cpp files implement a models.
- sharedconstants.h file describes a global constants.
- main.cpp file is the application entry point.
- translations directory contains the UI translation files.
- ru.auroraos.PhoneContacts.desktop file defines the display and parameters for launching the application.
Terms of Use and Participation in Development
The source code of the project is provided under the license, which allows it to be used in third-party applications.
Contributor License Agreement The contributor agreement documents the rights granted by contributors of the Open Mobile Platform.
Information about the contributors is specified in the AUTHORS file.
Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.