# Call API Overall

Приложение для демонстрации работы с Call API под ОС Аврора.

Статус сборки:
1. example - [![pipeline status](https://gitlab.com/omprussia/demos/CallApiOverall/badges/example/pipeline.svg)](https://gitlab.com/omprussia/demos/CallApiOverall/-/commits/example)
2. dev - [![pipeline status](https://gitlab.com/omprussia/demos/CallApiOverall/badges/dev/pipeline.svg)](https://gitlab.com/omprussia/demos/CallApiOverall/-/commits/dev)

## Условия использования и участия

Исходный код проекта предоставляется по [лицензии](LICENSE.BSD-3-Clause.md), которая позволяет использовать его в сторонних приложениях.

[Соглашение участника](CONTRIBUTING.md) регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле [AUTHORS](AUTHORS.md).

[Кодекс поведения](CODE_OF_CONDUCT.md) —  это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

## Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

* Файл **[CMakeLists.txt](CMakeLists.txt)**
  описывает структуру проекта для системы сборки CMake.
* Каталог **[icons](icons)** содержит иконки приложения для поддерживаемых разрешений экрана.
* Каталог **[qml](qml)** содержит исходный код на QML и ресурсы интерфейса пользователя.
  * Каталог **[cover](qml/cover)** содержит реализации обложек приложения.
  * Каталог **[icons](qml/icons)** содержит дополнительные иконки интерфейса пользователя.
  * Каталог **[pages](qml/pages)** содержит страницы приложения.
  * Файл **[CallApiOverall.qml](qml/CallApiOverall.qml)**
    предоставляет реализацию окна приложения.
* Каталог **[rpm](rpm)** содержит настройки сборки rpm-пакета.
  * Файл **[ru.auroraos.CallApiOverall.spec](rpm/ru.auroraos.CallApiOverall.spec)** используется инструментом rpmbuild.
* Каталог **[src](src)** содержит исходный код на C++.
  * Файл **[main.cpp](src/main.cpp)** является точкой входа в приложение.
  * Каталог **[callapi](src/callapi)** содержит исходный код на C++ для работы с Call API.
  * **[controllers](src/controllers)** содержит исходный код на C++ для с контроллерами для QML-страниц.
* Каталог **[translations](translations)** содержит файлы перевода интерфейса пользователя.
* Файл **[ru.auroraos.CallApiOverall.desktop](ru.auroraos.CallApiOverall.desktop)**
  определяет отображение и параметры запуска приложения.

## Совместимость

Проект совместим с актуальными версиями ОС Аврора.

## Функционал

Приложение было протестировано на соответствие следующему функционалу:

* Приложение позволяет инициировать исходящий звонок с помощью Call API.
* Приложение позволяет инициировать входящий звонок с помощью Call API.
* Приложение позволяет ставить текущий вызов на удержание с помощью Call API.
* Приложение позволяет отображать системные уведомление о вызове и экран вызова.
* Приложение позволяет проигрывать тестовые аудио файлы, когда текущий вызов находится в одном из следующих статусов: исходящий, активный или на удержании.

## Снимки экранов

![screenshots](screenshots/ru/screenshot-01.png)
![screenshots](screenshots/ru/screenshot-02.png)
![screenshots](screenshots/ru/screenshot-03.png)

## This document in English

- [README.md](README.md)
