Himars
Буду очень благодарен
R
Написать пример замены цепочки полиморфизмом?)
Tishka17
Котолог!
Konstantin
тру вэй
Сергій
Ты никогда с флейворами не работал?
Anonymous
такой вопрос, если я хочу в альбомном виде, добавить больше элементов чем в портретном, помимо содания нового макета, мне нужно будет чекать текущую раскладку (Configuration.ORIENTATION_PORTRAIT) для инициализаци дополнительных элементов?
Anonymous
ок ,спасибо
Himars
Мы же выше выяснили что билды и флеворы это немного разные вещи. Или нет?
Himars
Я с флеворами уже давно не работал...
Himars
Помню что в коде плодил ифы
Himars
Ресурсы - да, можно заменять Но на счёт классов сомнения есть
Himars
А, ну так да 👍
Konstantin
Ресурсы - да, можно заменять Но на счёт классов сомнения есть
классы тупо такие же делаешь в другом флейворе
Konstantin
с ними гемор
Himars
)
Konstantin
рефакторинг вообще пиздец
Konstantin
у тебя включен флавор 1, рефакторишь с ренеймом что нибудь в майн сорсах, другим флаворам пизда приходит т.к. студия в них не рефакторит
Konstantin
да
Konstantin
наверное лучше флейворы как то с модулями вязать
Konstantin
типа флавор 1 юзаем модуль а, флавор 2 юзаем модуль б
Vitaly
Можете пожалуйста скинуть ссылку на какой-нибудь из своих проектов, где есть тесты и Dagger, хочу наглядно посмотреть как это всё выглядит
Vitaly
По ходу мой код совсем не поддерживает тестирование и у меня через жопу там всё написано
Pavel
народ, ни у кого там под рукой нет приложения с маркета, где обычный родной bottom nav, а не кастомный вариант? Чтобы на 4 и 5 табах текста не было, эффект зума и рипла, ну и пр. Накидайте названий, пжлст
Vitaly
Я могу скинуть ссылку на GitHub
Pavel
yep
Konstantin
запретить расширение итемов - там какой то свой костыль надо делать, вроде бэ
Pavel
нееее, мне интересно посмотреть, как народ с этим живет как раз
Pavel
я то победил)
Pavel
отрубается
Pavel
ага
Konstantin
@SuppressLint("RestrictedApi")
Dug
если отключать шифтинг, то проще наверное свой ботомнавигейшен написать))))
Konstantin
жыыра
Кирилл
У тинькова точно в приложении шифтинг.
Dug
он же создавался не для того, чтобы шифтинг вырубать 🤔
Konstantin
он же создавался не для того, чтобы шифтинг вырубать 🤔
гугл слишком много себе позволяет просто навязывать ) мало ли че там у них в гайдах
Vitaly
https://github.com/VitalyPeryatin/AirTop/tree/dev
Konstantin
меня вот шифтинг бесит, да и шифтинг это ж процессорные такты на анимацию
Vitaly
https://github.com/VitalyPeryatin/AirTop/tree/dev
Если вдруг кто-то хочет заценить код, то советую смотреть папку chat и её классы (ChatActivity, ChatPresenter и другие), Dagger в папке di, интеракторы в data -> db -> interactors
Dug
меня вот шифтинг бесит, да и шифтинг это ж процессорные такты на анимацию
какой ужас. Девайсы с 8 ядрами никак же с таким не справятся...
Himars
На рефлексии)
Кирилл
Konstantin
какой ужас. Девайсы с 8 ядрами никак же с таким не справятся...
особенно те которые с гугл плеем за 4 часа батарейку садят
Konstantin
тогда останется только нокла
Konstantin
public void saveHaveNickname(boolean nickname) ок уговорил, надо склонировать
Dug
saveHave
Himars
Почему не инжектить в конструктор (ChatPresenter)?
Vitaly
public void saveHaveNickname(boolean nickname) ок уговорил, надо склонировать
Чем это можно заменить? Более логичное название метода не смог придумать
Кирилл
Не понял
Почитайте про даггер статьи на хабре. Там даже где-то был цикл статей на примере мессенджера как у вас.
Himars
Что конкретно не так у меня с Dagger?
Инжект в поля а не в конструктор В поля не рекомендуется
Himars
Мне казалось, что так удобнее
Но поэтому у вас и проблемы с тестами (юнит)
Vitaly
Инжект в поля а не в конструктор В поля не рекомендуется
Я читал, что не рекомендуется методы ижектить, а конструкторы и поля можно
Himars
+
Vitaly
+
Компоненты Android пока что инжектить не собираюсь, а вот к твоему совету обязательно прислушаюсь! Спасибо)
Konstantin
ассерты в коде зачем там
Vitaly
А если я передам в конструкторе какие-то аргументы в конструктор, то Dagger уже не будет их инжектить или будет?
Vitaly
ассерты в коде зачем там
Чтобы на null проверять, для того они и нужны)
Konstantin
почему не эксепшн тогда
Кирилл
Чтобы на null проверять, для того они и нужны)
https://m.habr.com/post/279641/ почитайте все части, ссылки в самой статье есть.
Vitaly
почему не эксепшн тогда
Хз, логичнее сделать @NonNull
Himars
А если я передам в конструкторе какие-то аргументы в конструктор, то Dagger уже не будет их инжектить или будет?
Нужно создать provide метод для презентера, но тогда придется инжектить его в активити/фрагмент
Himars
Неее, у меня Moxy всё инжектит
О С Мокси я не в курсе, не работал
Himars
Хз, логичнее сделать @NonNull
Я делаю проверку Objects.requireNotNull(myObject)
Konstantin
а я пишу ?
Vitaly
Та конструкция, что ты написал слишком громоздкая
Konstantin
Те конструкции, что вы написали слишком громоздкие
Himars
Та конструкция, что ты написал слишком громоздкая
Зато туда можно впихнуть сообщение
Himars
)
Кирилл
Неее, у меня Moxy всё инжектит
Как подружить Moxy и Dagger есть в issues на Github репозитория Moxy.