Closed ilammy closed 8 years ago
Создал главные файлы разметок activity, назначил элементам GUI соответствующие id, задал идентификаторы ресурсов для строк. Вышел такой набор:
Экран Welcome будет запускаться первым, проверять состояние регистрации пользователя. Если пользователь зарегистрирован - будет перенаправлять его в Device list. Иначе - предлагать войти или зарегистрироваться.
Из Device list можно попасть на экран настроек приложения - там можно изменить пароль от аккаунта, пин-код приложения, общий пин-код для подконтрольных устройств
В Application list будет отображаться список приложений конкретного устройства. Каждый пункт будет содержать чекбокс для изменения режима блокировки. Также в Actionbar-е есть поле поиска, для быстрого нахождения нужного приложения.
Соответствующие изменения зафиксированы коммитом 0b2db7d361673d1fe8b3995599bc5e5db64c3f77 (develop/pacmancoder)
Сделал наброски структуры mvp приложения, создал model и view для login, register и welcome activity. Начало реализации UserModel
UserModel. Она будет использована несколькими presenter-ами, требующими разные части её функционала, по этому связь с presenter-ами реализована несколькими коллбэкам, и на собыития нужно подписываться в ручную и отписываться от них так же само. Таким образом было решено отказаться от единого callback интерфейса для presenter-ов, так как это добавляет много лишних вызовов функций-пустышек и, собственно, порождает эти функции-пустышки, которые нужно обязательно поддерживать во всех связанных с данной моделью классах, что добавляет много работы при добавлении функционала модели. На данном этапе связь с реальным бэкендом (Firebase) отсутствует.
Presenters. Обратная связь Presenter с View реализована через единый интерфейс, так как любой Presenter в данном приложении имеет один и только один View.
ModelPresenterManager. Класс, который отвечает за создание и связывание Model <-> Presenter, и может возвращать ссылки на конкретные презентеры через из интерфейсы. Является синглтонным (Пока он такой единственный). На данном этапе все объекты создаются при первом доступе к экземпляру объекта. Позже будет реализовано "ленивое" создание каждого из объектов по-отдельности.
Ссылка на последний коммит: ac6accc91b673b2c531108799d9812865151f64b (develop/pacmancoder)