Size: a a a

Programming Offtop

2021 May 22

(

( in Programming Offtop
Ну, я когда-то давно, ещё когда сам велосипедил, делал семпл. Там правда черт ногу сломит, но попробовать разобраться наверное можно

Вот здесь RxFeature это собственно "стор", если его можно так назвать, в него суются ивенты и из него достаются стейты

https://github.com/happy-bracket/Dolphins-RealWorld/blob/master/app/src/main/java/ru/hbracket/realworld/home/HomeFragment.kt

HomeFx,  который передается ей в конструктор, это обработчик эффектов
https://github.com/happy-bracket/Dolphins-RealWorld/blob/master/app/src/main/java/ru/hbracket/realworld/home/stuff/HomeFx.kt

И по-сути все обработчики эффектов создаются вне стора и могут иметь какие-то зависимости, например, как раз таки, держать ссылку на вьюху/контекст/чем вы там показываете снеки
источник

KD

Konstantin Dovnar in Programming Offtop
>держать ссылку на вьюху/контекст/чем вы там показываете снеки

Погоди.

Это, получается, у тебя не UI ловит эффект, а эффект хендлер у себя держит ссылку на UI и кидает событие, чтобы UI что-то там сделал (показал снек)?

Потому что у меня сейчас эффекты это по сути просто асинхронная (и то не обязательное условие) функция вокруг стора.

Можно хоть на месте вызовы устроить store.dispatch(() { /* show snackbar */ }.
Но почему-то кажется это не лучшей идеей.
источник

(

( in Programming Offtop
> Это, получается, у тебя не UI ловит эффект, а эффект хендлер у себя держит ссылку на UI и кидает событие, чтобы UI что-то там сделал (показал снек)?
Да
источник

(

( in Programming Offtop
> Можно хоть на месте вызовы устроить store.dispatch(() { /* show snackbar */ }.
Но почему-то кажется это не лучшей идеей.

Почему нет?
источник

(

( in Programming Offtop
Я думал, что у тебя просто из стора до вьюхи/контекста юая не достучаться
источник

KD

Konstantin Dovnar in Programming Offtop
1: у нас нет прямого контроля за порядком исполнения эффектов

2: держать ссылку на вьюху (контекст) не очень хочется.

Но, как я понял, это и есть стандартная практика.
источник

AD

Aleksey D. in Programming Offtop
можно не держать ссылку, а в Flow<UiEffect> класть из EffectHandler'а
источник

KD

Konstantin Dovnar in Programming Offtop
Так.
А обрабатывать этот флоу где?
источник

AD

Aleksey D. in Programming Offtop
где-то близко к интерфейсу
источник

KD

Konstantin Dovnar in Programming Offtop
Дюж абстрактно:)
Хотя с текущим ScaffoldMessanger вполне выполнимо, в кейсе со снекбарами.
источник

AD

Aleksey D. in Programming Offtop
у меня это презентер слушал и дёргал соответствующие методы

view {
render(state)
toast(message)
snack(message)
dialog(config)
}
источник

KD

Konstantin Dovnar in Programming Offtop
В моём случае ничего такого нет, но для общих кейсов можно сделать отдельный виджет. И держать его повыше в иерархии.

Попробую оба способа.
И этот, и с передачей UI в эффекты.

Спасибо.
источник

ch

central hardware in Programming Offtop
Не давно осознал что новый iMac стоит всего ~120К у меня слегка порвался шаблон, как относитесь к новым iMac которые m1 и разноцветные
источник

AD

Aleksey D. in Programming Offtop
да, они очень круто по цена/качество получились
они и работают быстрее, и не греются
источник

KD

Konstantin Dovnar in Programming Offtop
Не надо забывать, что 120к (вообще 130) это самая дешёвая версия.

Всего 2 порта.
Клавиатура без touch-id.
Даже Ethernet порта в блоке питания нет.
источник

ch

central hardware in Programming Offtop
Про порты и так можно забыть, touch id прикольно но если у меня будут деньги на него я в конце концов куплю физ токен
источник

KD

Konstantin Dovnar in Programming Offtop
4 порта всё ещё в два раза больше, чем 2.
источник

KD

Konstantin Dovnar in Programming Offtop
Но, справедливости ради, цены на технику с M1 и вправду очень вкусные.
Относительно интелов, конечно.
источник

AA

Albert Abdullin in Programming Offtop
Ждём макбук про 16''
источник

AN

Alexander Nozik in Programming Offtop
Было такое на 1.4 с некоторыми проектами. Надо все обновить
источник