
Yuri
27.09.2016
16:16:21
Вы работаете с moxy? Сейчас (прям вот только что) зафиксил. Билд будет на неделе ;)

Максим
27.09.2016
16:19:34

Yuri
27.09.2016
16:20:53
Хм, не пробовал собирать проект, использующий мокси в аарку. Ну это место будет пофикшено(тип dependency заменил с compile на compileOnly и перестало ругаться)

Google

Yuri
27.09.2016
16:32:07
ApplyAndRemoveStrategy — в ней нужно написать, чтобы в beforeApply команда добавилась в очередь, но в afterApply была удалена(чтобы не примениться несколько раз). И в таком случае, даже если на момент отправления команды небыло приаттаченно ни одной View, то как только View будет приаттачена, команда будет выполнена и удалена из очереди.
А в случае со SkipStrategy, команда не будет сохранена в очередь. И если в момент отправления команды к презентеру не приаттачено ни одной View, эта команда потеряется. Но если это у вас синхронный метод (например onClick → startActivity), то можно считерить и применить эту стратегию =)

Seraphim
27.09.2016
16:32:28
Base64::encode

Gerc
27.09.2016
16:34:37

Yuri
27.09.2016
16:35:00
во ViewState, который хранится в Presenter

Gerc
27.09.2016
16:35:56

Yuri
27.09.2016
16:38:28
А когда View совсем уходит(т.е. её не становится в бэк стэке), presenter "уничтожается"

Gerc
27.09.2016
16:41:00

Yuri
27.09.2016
16:41:54

Gerc
27.09.2016
16:44:07


Yuri
27.09.2016
16:49:11
И если убьется апп, то при восстановлении восстановится нинужный viewstate когда рх что-то делал и свернули на прогрессе
Нет, в случае остановки процесса, презентеры с их вью стейтами теряются. Потому что не логично запоминать состояние презентера — он асинхронный, и нет смысла запоминать состояние асинхронщины. Но если очень нужно, то можно передать Bundle saveState в презентер, а при восстановлении, отправить его в Presenter, чтобы тот решил, на какой этап ему восстанавливаться, и что вообще делать.
Например, вы нажали кнопку "Опубликовать новость"
Вью стэйт показал прогресс(и понятное дело запомнил эту команду).
И в этот момент процесс останавливается.
И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити? Именно поэтому само собой в saveState ничто не сохраняется. А если нужно, то презентер сам сохранит туда пометки для себя и потом восстановит себя. Но это на самом деле лишнее. Нам за пол года так ни разу и не пришлось такого проворачивать =)


Gerc
27.09.2016
16:58:34
Нет, в случае остановки процесса, презентеры с их вью стейтами теряются. Потому что не логично запоминать состояние презентера — он асинхронный, и нет смысла запоминать состояние асинхронщины. Но если очень нужно, то можно передать Bundle saveState в презентер, а при восстановлении, отправить его в Presenter, чтобы тот решил, на какой этап ему восстанавливаться, и что вообще делать.
Например, вы нажали кнопку "Опубликовать новость"
Вью стэйт показал прогресс(и понятное дело запомнил эту команду).
И в этот момент процесс останавливается.
И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити? Именно поэтому само собой в saveState ничто не сохраняется. А если нужно, то презентер сам сохранит туда пометки для себя и потом восстановит себя. Но это на самом деле лишнее. Нам за пол года так ни разу и не пришлось такого проворачивать =)
>И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити?
и что вы делаете?


Yuri
27.09.2016
16:59:39

Google

Gerc
27.09.2016
17:01:49
поэтому надо в сервисе делать такие запросы

Yuri
27.09.2016
17:05:02
+1
В мокси вы можете приаттачить и сервис и активити к одному презентеру. И например сделать так, что когда презентер скажет View отобразить данные, то activity их просто покажет, а сервис поймёт, что он больше не нужен и застопается. А можно сделать и как-ниудь по-другому. Вариантов уйма ;)

Gerc
27.09.2016
17:10:44
как в банковских приложениях?

Yuri
27.09.2016
17:12:33

Максим
27.09.2016
17:18:05
http://prntscr.com/cn1dtg
Что это?

Denis
27.09.2016
17:20:07
Можно запоминать места в коде и потом к ним возвращаться по сочетанию клавиш

Максим
27.09.2016
17:22:01

Ivan
27.09.2016
17:26:10
Поюзал я таки крэшлитикс
Крутая тема с тестированием у них
Всё довольны

Mike
27.09.2016
17:31:27
?

Алексей
27.09.2016
17:31:45
Такой вопрос, какой телефон посоветуете купить в пределах 10 рублей?)

Mike
27.09.2016
17:32:58
Вообще, странные ребята. Инфы куча к ним идёт, а возможностей фильтровать данные почти нет...

Ivan
27.09.2016
17:36:52

Gregory
27.09.2016
17:44:01

Denis
27.09.2016
17:46:52

Google

DarkMentat
27.09.2016
17:47:13
Doogee например, вообще смотри в сторону Китая, бюджетники, но с шестым дроидом довольно полезны
Такой вопрос, какой телефон посоветуете купить в пределах 10 рублей?)

Timur
27.09.2016
17:49:41
весьма достойный аппарат
прошивка только тяжёлая

Sergey
27.09.2016
18:20:18

Александр
27.09.2016
18:26:33
Ребята, вопрос. Тут многие фрилансят, кто как принимает деньги из других стран? Регистрируете ИП или как-то иначе? ;) Если не хотите здесь писать, то в личку можно, тоже могу кое-чего посоветовать :)

Gerc
27.09.2016
18:31:43
Иностранные заказчики не работают с не ипами

Alexey
27.09.2016
18:32:13

Александр
27.09.2016
18:33:46
Я же не написал Запад

Gerc
27.09.2016
18:34:34
А это фигня. Нах с ними работать

Александр
27.09.2016
18:38:04

Aleksandr
27.09.2016
18:54:41
Подскажите, пожалуйста, нормально ли так использовать обертку объекта при внедрении зависимости, поскольку сама зависимость может устареть, пока активити жива, и мы должны будем использовать её новый экземпляр.

Egor
27.09.2016
19:04:36
@sier_brat неплохо, выполняет роль типа config holder, без обертки обычную ссылку можно так же обновить

Yuri
27.09.2016
19:05:36

Aleksandr
27.09.2016
19:06:28

Egor
27.09.2016
19:08:33
@sier_brat обычно я делаю класс, типа SessionStorage, он сингелтон и в нем храню все ссылки на объекты типа Принтера
я к тому, что имхо, сдесь фраппер исполняет роль холдера, потому это не фраппер, а холдер скорее, это по названиям и назначениям класса

Google

Aleksandr
27.09.2016
19:11:41
Да, согласен, Holder логичнее

Admin
ERROR: S client not available

Aleksandr
27.09.2016
19:14:16
К тому,можно ли так делать смело, или за такое по рукам бьют?


Egor
27.09.2016
19:20:45
в моем случае получаеться так: есть одно место доступа ко всем моделям в программе, сам этот сингелнон инжектиться в BaseFragment или активити, а в себе хранит источники данных, потому, например, я могу получить прямой доступ к актуальным данным на любом фрагменте через метод, типа getSessionStorage().getShoppingListProvider().getAllDeals();
т.е. сторадж = хранит провайдеры
провайдер - данные с которыми он работает
остальная мелоч инжектиться отдельно, типа утилиты и тд, если у тебя в программе Принтер - это основной объект и больше нету другой техники, твой вариант достаточно хороший, завернул в статический фрапер (холдер) и работаешь кругом с ним

Andrey
27.09.2016
20:13:46
целый день борюсь, никак не могу решить - edittext во viewpager после перехода на страницу по setCurrentItem все время под клавиатурой оказывается
по свайпу все норм
никто не сталкивался?

Dmitry
27.09.2016
20:21:44
Кто где хранит токены и пароли? -)

Максим
27.09.2016
20:44:10
С дройдкона записи есть?
Привет

Dmitry
27.09.2016
20:49:41
Дроидкод будет через 2 недели
Вопрос про токены актуальный. Что-то приложения которые я видел, токены текстом в преференсах держат...

Максим
27.09.2016
20:50:07

Vitaliy
27.09.2016
20:56:46
@grishka теперь ты видел ВСЁ
https://github.com/ReactiveX/RxPHP

Gregory
27.09.2016
20:58:33

Vitaliy
27.09.2016
20:58:39
Я ору уже с названия
Многопоточность в ПХП
shell_exec("php thread2.php")

Seraphim
27.09.2016
21:01:06
Rx подо всё есть. Такими темпами скоро и под ассемблер запилят

Google

Vitaliy
27.09.2016
21:01:19
RxAsm
RxFortran

Seraphim
27.09.2016
21:01:50
RxPetooh

Alexander
27.09.2016
21:01:54
RxBrainfuck

Vitaliy
27.09.2016
21:02:11
Как раз хотел пошутить, опередили :)

Denis
27.09.2016
21:02:45
RxC--

Seraphim
27.09.2016
21:02:50
Rx на ObjC красотулечка))0)

Vitaliy
27.09.2016
21:03:33
RxSpectrum

Seraphim
27.09.2016
21:05:04
RxPascal

Vitaliy
27.09.2016
21:05:34
RxBat