Size: a a a

2018 November 08

NY

Nikita Yatskivskiy in RxPM
Если брать не поворот, а навигацию обратно к этому фрагменту, например, по кнопке back
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
Я в таком случае просто старый адаптер цеплял ко ViewPager
какой старый адаптер? адаптер с вьюхой умирает
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
Если брать не поворот, а навигацию обратно к этому фрагменту, например, по кнопке back
вьюха может пересоздаваться и в других случаях, например при смене локали. Так что я бы не пренебрегал кейсы с поворотами.
источник

NY

Nikita Yatskivskiy in RxPM
Dmitriy Gorbunov
какой старый адаптер? адаптер с вьюхой умирает
Адаптер хранится в поле фрагмента. По возвращении к этому фрагменту этот адаптер передаю viewpager’у.
источник

NY

Nikita Yatskivskiy in RxPM
И таким образом восстанавливаю табы во viewPager
источник

DG

Dmitriy Gorbunov in RxPM
Я уже ответил что фрагмент пересоздастся в краевых случаях. Поэтому тебе однозначно нужен стейт в пм-ке и лучше всего как сказал @leonid_z проверять табы во вьюхе
источник

NY

Nikita Yatskivskiy in RxPM
А как можно обработать кейс, при котором табы могу обновиться ещё и тогда, когда были внесены изменения в настройки фильтра? Если я завожу поле, например val filterChanged = State(false) и оба стрима (один от filterChanged, а второй список табов) объединяю с помощью zip во View, то потом, если filterChanged уже однажды получила true, то она и будет его отдавать. А если filterChanged делать как Command, то по возвращению на экран этот Command не отдаст значение и поэтому функция у Zip уже не вызовется, пока я ещё раз этому filterChanged не передам какое-либо значения.
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
А как можно обработать кейс, при котором табы могу обновиться ещё и тогда, когда были внесены изменения в настройки фильтра? Если я завожу поле, например val filterChanged = State(false) и оба стрима (один от filterChanged, а второй список табов) объединяю с помощью zip во View, то потом, если filterChanged уже однажды получила true, то она и будет его отдавать. А если filterChanged делать как Command, то по возвращению на экран этот Command не отдаст значение и поэтому функция у Zip уже не вызовется, пока я ещё раз этому filterChanged не передам какое-либо значения.
В стейте табов должны быть уже отфильтрованные данные.
Нужно комбайнить репозиторий и фильтр в пм-ке, фильтровать табы и только потом класть табы в стейт
источник

DG

Dmitriy Gorbunov in RxPM
И мне кажется zip не подойдет, нужен combineLatest
источник

NY

Nikita Yatskivskiy in RxPM
Это понятно - я так и делаю сейчас) Суть в другом - как вьюшка должна понять, что нужно обновить табов? Например, я могу сравнить текущий список табов (периодов) с пришедшим - по количеству, по их типу (период может быть недельный или месячный). Но если количество табов осталось таким же и тип табов остался тот же, но при этом фильтр поменялся, то надо тоже как-то сообщить view ещё одно условие, согласно которому она должна обновиться.
источник

NY

Nikita Yatskivskiy in RxPM
Как это сделать нереактивно - я, в принципе, понял.
источник

NY

Nikita Yatskivskiy in RxPM
В общем, спасибо)) Забей)
источник

NY

Nikita Yatskivskiy in RxPM
И так уже нафлудил)
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
Это понятно - я так и делаю сейчас) Суть в другом - как вьюшка должна понять, что нужно обновить табов? Например, я могу сравнить текущий список табов (периодов) с пришедшим - по количеству, по их типу (период может быть недельный или месячный). Но если количество табов осталось таким же и тип табов остался тот же, но при этом фильтр поменялся, то надо тоже как-то сообщить view ещё одно условие, согласно которому она должна обновиться.
Фильтр для контента в табе?
источник

NY

Nikita Yatskivskiy in RxPM
Он в отдельном экране. Захожу, выбираю нужные категории, возвращаюсь на экран с табами. Если фильтр изменился, то обновляю табы.
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
Он в отдельном экране. Захожу, выбираю нужные категории, возвращаюсь на экран с табами. Если фильтр изменился, то обновляю табы.
Я уточнял какой контент фильрует. Если это количесвто и тип табов, то это один вариант, если это данные внутри самого таба (список и т п), то нужно обзервить фильтр уже в пм-ке самого конткретного таба и там обновлять контент
источник

NY

Nikita Yatskivskiy in RxPM
Ребят, кинул issue https://github.com/dmdevgo/RxPM/issues/34 насчёт того, что к relay нельзя достучаться вне пакета библиотеки, а к consumer - вне PresentationModel.
источник

NY

Nikita Yatskivskiy in RxPM
Это про то, что мы тут неделю назад обсуждали
источник
2018 November 10

L

Leo in RxPM
Добавил себе штуку, работающую схоже с command, но в обратную строну - от view к pm. С ее помощью сделал хендлинг activityResult и пермишнов, так как вся эта ерунда срабатывает до момента биндинга. Кто и как такое решал у себя?
источник

KK

Konstantin Kulikov in RxPM
Leo
Добавил себе штуку, работающую схоже с command, но в обратную строну - от view к pm. С ее помощью сделал хендлинг activityResult и пермишнов, так как вся эта ерунда срабатывает до момента биндинга. Кто и как такое решал у себя?
Т.е. Action? )
источник