• Как проще написать удаление пробелов, тегов, и преобразование в нижний регистр?

    @marmuff
    По регистрам - есть в пыхе уже реализованные ф-ии для преобразования строк в lower case и UPPER CASE.
    Для удаления пробелов и тэгов - регулярки к Вашим услугам.
    Ответ написан
  • Как разрешить проблему "Access Denied" при работе с Apollo?

    @marmuff Автор вопроса
    В общем, для страждующих: мне удалось это сделать путем отката на студию версии от 20 мая 2019 года. Это самый кажуальный вариант.
    Ответ написан
    Комментировать
  • Применение Dagger 2 в модульной архитектуре - что и как?

    @marmuff Автор вопроса
    Итак, после копошения в документации прояснилось.
    Немного не закрыт вопрос с Dagger 2, но в целом:

    1) Если фича является сторонним функционалом, имеющим посредственное отношение к работе приложения - используется Dynamic Feature Module (что очень круто, т.к. можно ставить модули на лету). Dynamic Feature Module имеет свой контекст и, по своей сути, является "расширением". Можно использовать app модуль из feature, но использовать feature из app напрямую нельзя (точнее - настоятельно не рекомендуется, но теоретически возможно).

    2) Если это небольшая фича, относящаяся к непосредственному функционалу - используется предпочтительно Android Library (к примеру, в Android Library можно вынести работу с сетью).

    Как именно можно прокинуть классы из библиотеки в app или feature - понятно, вопрос с обратным действием (Library не имеет контекста выполнения как такового за исключением фрагментов и активностей). С подобной проблемой можно столкнуться, к примеру, реализуя в library стек а-ля Dagger 2 и Room Persistence Library, когда Room требует для билдинга контекст. Лично я решил тем, что отказался от Dagger в точке входа (т.е. инициализировал точку входа -> передал контекст и только потом подтянул Dagger) и в билдинге Instance Room. Если есть более приемлемые решения - буду благодарен. Завтра буду пробовать просто забрать app class из app module и вытащить контекст из него.

    Подробная информация по Android Library: https://developer.android.com/studio/projects/andr...
    Подробная информация по Dynamic Delivery: https://developer.android.com/guide/app-bundle/dyn...

    ВАЖНО: ключевые инстансы рекомендую предоставлять фичам из app module, т.к. для той же Room крайне рекомендуется использовать контекст приложения.
    Ответ написан
    Комментировать