Выполнил: Щербинин Эдуард Павлович
Я, как пользователь, хочу иметь возможность удалять повторяющиеся контакты с устройства
Разработать Android приложение, которое будет иметь возможности искать и удалять повторяющиеся контакты с устройства. Все операции с контактами должны быть реализованы внутри отдельного сервиса, который взаимодействует с приложением через AIDL. После завершения операции пользователь должен быть проинформирован о статусе операции:
- повторяющиеся контакты удалены успешно
- произошла ошибка
- повторяющиеся контакты не найдены Для проверки функционала можно использовать любое установленное на устройство приложение Контакты для создания повторяющихся контактов и проверки их удаления.
- Пользователь может начать процесс удаления из приложения
- Сервис находит и удаляет повторяющиеся контакты на устройстве
- Сервис сообщает приложению, что удаление дублей контактов завершено.
Повторяющимися контактами считаются контакты, имеющие полностью одинаково заполненные поля. Только такие контакты должны быть удалены.
- Основное приложение с интерфейсом, являющееся AIDL-клиентом: app
- Приложение-сервис, реализующее логику удаления контактов, и являющееся сервером: ContactDedupService
- UI реализован в DedupScreen.kt (Jetpack compose)
- Логика приложения (взаимодействия с сервисом) реализована в DedupViewModel.kt
Проверим на следующем наборе контактов:
Открыв основное приложение, попадаем на главную страницу:
Нажмём Start:
Дубликаты удалились (Different phone имеют разные номера):
Повторное нажатие сообщает, что повторяющиеся контакты не найдены:
Сообщение пропадает через 5 секунд
- Должно быть запущено перед использованием основного приложения
- AIDL-интерфейс определён в IDedupService.aidl
- Bound-сервис определён в DedupService.kt
- Логика взаимодействия с контактами реализована в ContactUtil.kt





