Реализация тестового задания из видео по Jetpack Compose c канала Mobile Developer
Необходимо реализовать Android приложение со списком сессий с конференции Podlodka Android Crew, используя Jetpack Compose.
Файлик со списком сессий можно скачать здесь
- Сессии должны быть сгруппированы по дате.
- При нажатии на сессию, нужно перейти на экран подробного просмотра сессии.
- Сессию можно добавить в избранное, нажав на иконку "избранное", при этом она остается в текущем списке и должна быть добавлена в блок избранное. Повторное нажатие на эту иконку должно убрать сессию из избранного. Если в избранном нет ни одной сессии, то этот блок скрывается.
- Максимум можно добавить только 3 сессии в избранное, иначе нужно показать SnackBar с сообщением: "Не удалось добавить сессию в избранное".
- Избранные сессии должны переживать изменение конфигурации устройства, но могут очищаться при каждом перезапуске приложения.
- Приложение должно поддерживать темную и светлую темы
- При нажатии на кнопку "назад" на экране списка сессий, нужно показать диалог с сообщением: "Вы уверены, что хотите выйти из приложения?" и двумя кнопками: "да" и "отмена". При утвердительном ответе пользователя, необходимо выйти из приложения, иначе закрыть диалог.
- Реализовать поиск по сессиям в приложении либо по названию сессии, либо по имени докладчика. При этом поиск не влияет на избранные сессии.
- Загружать список сессий удаленно (ссылка на json). При этом необходимо добавить состояние загрузки данных и состояние ошибки, если произошла ошибка при загрузке данных.
https://developer.android.com/jetpack/compose/setup
https://developer.android.com/jetpack/compose/documentation https://github.com/android/compose-samples https://github.com/jetpack-compose/jetpack-compose-awesome