Приложение состоит из двух экранов: 1 - список с кратким описанием отзывов и полем для поиска, 2 - экран с отзывом.
Данные нужно получать с New York Times Api, обращаясь к reviews/search.json. Сценарий работы:
- На первом экране в тулбаре находится поле для ввода поискового запроса. По мере ввода текста на сервер автоматически отправляется запрос на поиск обзоров. Результаты запроса помещаются в БД и отображаются на экране в списке.
- При прокручивании списка вниз должна подгружаться следующая страница данных из api (используя параметр offset)
- Каждый элемент списка содержит изображение, заголовок, кнопку "Подробнее". При нажатии на кнопку "Подробнее" открывается экран с подробным описанием отзыва.
- Экран с подробным описанием отзыва получает id обзора с предыдущего экрана и достает информацию из БД по этому id. В UI необходимо отобразить изображение, заголовок, текст обзора, дату публикации.
- Запрос к API должен выполняться со случайным замедлением (с точки зрения пользователя) на время от 0 до 5 секунд
- Приложение должно продолжать нормально работать и сохранять состояние UI при повороте экрана
- Обращение к сети и БД в UI потоке запрещены
- Архитектура приложения, дизайн, обработка ошибок получения данных - на Ваш вкус
- Разрешено использование любых инструментов/библиотек
- Код должен быть аккуратным и понятным другим людям с Вашей точки зрения
- Код проекта должен быть расположен на github в приватном или публичном доступе. Приветствуется наличие нескольких коммитов в процессе работы с нормальным описанием.