These are chat archives for rus-speaking/android-off-topic

25th
Sep 2015
dimasolovyev
@dimasolovyev
Sep 25 2015 07:09
с блэкджеком?
takigava
@takigava
Sep 25 2015 07:28
@Ne1c Когда будет?Хочу ресайклер вместо webview)
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:03
@takigava думаю уже скоро)
takigava
@takigava
Sep 25 2015 08:04
@Ne1c И кнопочку хочу, как в контакте)))Тип сообщения - код, картинка, ссылка....Был бы огонь)
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:05
@takigava в смысле кнопочку?
takigava
@takigava
Sep 25 2015 08:06
@Ne1c Ну чтобы можно было выбрать тип сообщения как здесь marcdown, только если будет по типу сообщения, будет намного проще, можно будет viewрщдвук vtyznm c jajhvktybtv
@Ne1c *holder менять с оформлением
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:08
Аа, ну это может и будет, только позже) не в первом релизе)
Ибо он почти готов, только баги правлю
takigava
@takigava
Sep 25 2015 08:08
А там потом вообще запилить в настройках что скрывать, и просто перед показом менять стейт viewholder)
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:09
@takigava предлагаешь дофига вьюхолдеров пилить, чтобы потом выбирать между ними?
takigava
@takigava
Sep 25 2015 08:10
@Ne1c Да я думаю их всего 6 штук будет
Больше не надо
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:11
@takigava я просто такого подходе не видел ещё) есть примеры кода?
takigava
@takigava
Sep 25 2015 08:13
@Ne1c Домой приеду скину, у меня в приложении 2 viewHolder-а, Recycleview для того и создан чтобы внем можно было viewholder менять, а там уж сколько их будет это дело какждого, они просто в адаптере меняются
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:15
@takigava окей, просто с трудом пока представляю как сделать эту логику выбора вьюхолдера в разной ситуации
но даже похожу вьюхолдеры не вариант ибо в одном сообщении может быть и цитата и код и картинка, вообще всё, а другом только что-то одно\
takigava
@takigava
Sep 25 2015 08:38
@Ne1c Вот это уже другой вопрос)))
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:39
@takigava ну вот) так что много разных вьюхолдеров не помогут) но ты всё равно кинь пример
Скорее всего надо просто динамически вьюхи пихать
takigava
@takigava
Sep 25 2015 08:41
@Ne1c Неадекватный такой вариант viewholder в ресайклере c webview..Хотя..)
@takigava Может и не плохо, ссылка приходит в json, mentions тоже.
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:43
@takigava зачем вебвью? Это фу)
Просто парсить текст на наличие спец тегов) и потом динамически вставлять тот текст вью, со специальным оформлением
*тот же
takigava
@takigava
Sep 25 2015 08:44
@Ne1c Ну тогда что ты мне говлову морочишь) Парся текст ты получишь блоки, а потом в зависимости от блока выбираешь viewholder...Я думал ты парсить не будешь...
Потом просто проверяешь елси у предидущего отправитель совпадает с тобой то пользователя не проставляешьВот и всё
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:46
так вьюхолдер не получиться выбирать, ибо может быть разное количество комбинаций тегов в сообщении, проще динамически допиливать
takigava
@takigava
Sep 25 2015 08:52
@Ne1c Гениально)))Listview с твоими холдерами в холдере recycle. тогда у тебя будет один recycle view holder как раз на сообщение, а внутри деление на блоки. И тогда просто будешь данные подставлять в list adapter распарсенные, и там выбирать hlder и не важно сколько у тебя там будет holder-ов и в каком они порядке, адаптер сам всё будет делать и подставлять нужные
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:53
@takigava не слишком замудрено?)
takigava
@takigava
Sep 25 2015 08:54
@Ne1c Я думаю нет, во первых у тебя сам ресаклер не так много будет кушать, так как он будет все view переиспользовать, так что у тебя остаются только данные. И такой подход хорош тем, что у тебя всё разбито на блоки и ты влюбой момент можешь подправить или изменить только один конкретный блок
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 08:56
насколько я понял, схема такая: у меня листвью каждый итем которого ресайслер вью, каждый итем которого какой-то разпарсенный блок, аля текст, картинка, цитата, код?
takigava
@takigava
Sep 25 2015 08:58
@Ne1c нет, наоборот. recycleview->viewholder->listview->listviewholder[n] где listviewholder распарсенный блок с оформлением
@Ne1c recycleviewholder ->
{
    "id": "53316dc47bfc1a000000000f",
    "text": "Hi @suprememoocow !",
    "html": "Hi <span data-link-type=\"mention\" data-screen-name=\"suprememoocow\" class=\"mention\">@suprememoocow</span> !",
    "sent": "2014-03-25T11:51:32.289Z",
    "editedAt": null,
    "fromUser": {
        "id": "53307734c3599d1de448e192",
        "username": "malditogeek",
        "displayName": "Mauro Pompilio",
        "url": "/malditogeek",
        "avatarUrlSmall": "https://avatars.githubusercontent.com/u/14751?",
        "avatarUrlMedium": "https://avatars.githubusercontent.com/u/14751?"
    },
    "unread": false,
    "readBy": 0,
    "urls": [],
    "mentions": [{
        "screenName": "suprememoocow",
        "userId": "53307831c3599d1de448e19a"
    }],
    "issues": [],
    "meta": {},
    "v": 1
}
@Ne1c html->listview
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 09:00
@takigava понял)) я бы до такой схемы не додумался)
takigava
@takigava
Sep 25 2015 09:01
@Ne1c )))и у тебя получается 2 адаптера на всё) с полной кастомизацией где в ресайкл ты можешь вытаскивать ссылки и mentions и тд, а в листе оформление
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 09:03
@takigava и туева куча холдеров) ну там в основном проблема будет только с кодом, цитатами и изображениями
интересно потом посмотреть иерархию вьюх) представляю как там всё будет кроваво-красное)
takigava
@takigava
Sep 25 2015 09:07
@Ne1c 1 recycleview и 6 listview пока хватит. Если разбивать на такие холдеры можно потом всякие фишки делать, типо открытия изображения по клику на него , список ссылок, подставка mention , обернуть видео,гиф..Всё будет проще так как в блоках.
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 09:11
@takigava 6 листвью? зачем? надо же дофига холдеров, а не листвью)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 09:43
@takigava @Ne1c ListView в RecyclerView? Как это и зачем?)
takigava
@takigava
Sep 25 2015 10:03
@Ne1c Я про холдеры
@BOOMik Если не влом, прочитай переписку сверху. станет понятно. Может у тебя какие идеи возникнут
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:06
@takigava читал, но так и не понял для чего вложенный listview. Для отображения разныхвложений в сообщении? Так это костыль получается ужасный. плюс прокрутка в прокрутке. Куда разумнее добавлять программно элементы.
takigava
@takigava
Sep 25 2015 10:11
@BOOMik Можно и так, оно всё равно то и на то получится
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:13
@takigava listview использовать в listitem это моветон
takigava
@takigava
Sep 25 2015 10:16
@BOOMik ты имел в виду listview в recycleviewholder?
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:16
да
takigava
@takigava
Sep 25 2015 10:19
@BOOMik Заказчику расскажи)))))Аахах)))
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:20
@takigava покажи макет. А потом убей заказчика) Нельзя делать вложенные прокручиваемые элементы
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 10:20
@BOOMik вот и я про программное добавление элементов
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:20
только если в разные стороны, и то не особо рекомендуется
takigava
@takigava
Sep 25 2015 10:24
@BOOMik @Ne1c один фиг не мне решать)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:24
@takigava :laughing:
Toporik
@Toporik
Sep 25 2015 10:25
единственный раз когда я заюзал лист в листе, это когда внешний айтем раскукоживался, чтобы вместить в себя весь лист и это было в эпоху 2.3 версии
а заказчика лучше убить вдруг он еще и размножаться будет.
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 10:27
@takigava всё равно, хочется услышать совет более гуманного решение от более опытных
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:46
@Ne1c Для решения какой задачи пришла идея пихать в recyclerview listview? Отображение в сообщении нескольких разных вложений?
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 10:47
@BOOMik ну идея была не моя, но для удобного парсинга и отображения сообщений. типа чтобы можно было делить на текстовые блоки, блоки с кодом, цитатами, изображениями и т.д.
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:50
@Ne1c ну программно добавляешь нужные блоки. в лейауте айтема делаешь LinearLayout, потом во время получения вьюхи инфлайтешь нужные лейауты и добаввляешь. Ну или пилить кучу холдеров, но думаю это не вариант.
А Еще кстати идея - сделать холдеры для разных типов и сообщение разбивать на несколько айтемов с разными холдерами. Так думаю корректнее будет, но вот общий фон у них не сделать в таком случае. Но надо ли оно? Не делать же баблы надоевшие)
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 10:53
@BOOMik мне кажется проще будет динамически добавлять вьюхи
у тебя случайно нету примера с использованием этих нескольких холдеров?
и у меня не баблы) по этому общий вон тут не надо)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:54
@Ne1c примера нет, но в интернете их куча. это одна из основных фишек в ресайкл вью)
takigava
@takigava
Sep 25 2015 10:55
@BOOMik Проблема с холдерами в том, что сообщение одно у него будет в массиве лежать, а потом текст парсится.
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 10:55
@BOOMik я знаю фишку, что там уже реализован паттерн вьюхолдер, но что там можно выбирать разные холдеры первый раз слышу Оо
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:55
@Ne1c ну не факт что проще, примерно одинаково по трудозатратности, зато если динамически добавлять, то это операция инфлайта при каждой отрисовке вьюхи и будет страдать производительность прокрутки
takigava
@takigava
Sep 25 2015 10:55
@BOOMik Поэтому идеальный вариант один холдер а внём программно добавлять
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:56
@takigava можно создать миссив с массивами. каждое сообщение будет являться распарсенным миссивом по блокам. Допустим автор, текст сообщения, вложение, еще текст, еще вложение.
@takigava и про производительности будет как листвью вообще без использования холдера.
takigava
@takigava
Sep 25 2015 10:58
@BOOMik А как тогда ты предлагаешь id холдеров привязывать?Если у нас получается на один id несколько холдеров
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 10:59
@takigava ну делать какой-нибудь еще ид) или к ид приписывать что-нибудь. обойти не сложно. Для обработки клика?
takigava
@takigava
Sep 25 2015 11:01
@BOOMik Просто получается, что у нас будет составной id по двум частям которого мы будем выбирать главный и второстепенный...Хм...Если только...
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 11:03
как-то всё мутно выходит)
вот интересно как к примеру тот же вк клиент парсит сообщения
или походу дела допиливает итем всякими вьюхами или же как-то по другому
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 11:04
@Ne1c у телеграма исходники открыты. посмотри там
takigava
@takigava
Sep 25 2015 11:04
@Ne1c Скорее разные холдеры в ресайкле.
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 11:05
@BOOMik у телеграма там вообще весь ui в коде прописан) просто так там не разобраться)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 11:07
@Ne1c жуть)
Nikolay Kucheriaviy
@Ne1c
Sep 25 2015 11:07
@BOOMik вот-вот)
Nikita
@skew
Sep 25 2015 11:26
Индусы что ли писали?
Aleksandr
@iSanechek
Sep 25 2015 12:24
@atetc это хорошо, но на рок стар все равно не тянет. :)
Nikita
@skew
Sep 25 2015 12:48
Handler c запущенным Runnable потребляет кучу памяти дёргая GC по кд :( а других способов толковых запускать задачу по таймеру я не могу придумать.
Rustem Saitkulov
@atetc
Sep 25 2015 12:52
Ну ок ок, на радостях перехвалил чуток
Vitaly Kirillov
@nexus700120
Sep 25 2015 13:46
Новый android клиент gitter'a не такой уж и ужасный
takigava
@takigava
Sep 25 2015 13:50
@retor Ну где ты раньше был...((((
retor
@retor
Sep 25 2015 13:51
@takigava смотрел онлайн)))
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 14:14
@retor может оффлайн?:)
Vasily Styagov
@VasyaFromRussia
Sep 25 2015 14:16
@retor там без регистрации и смс?
retor
@retor
Sep 25 2015 14:17
@BOOMik хз хз) "Сегодня в 10:00 (МСК) " я открыл в 10:10 )) уже вполне могло быть оффлайн) но не тут то было) попал как раз уже на идущую конфу) так что до обеда смотрел онлайн) а после обеда уже чего захочется)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 14:18
@retor ааа)
retor
@retor
Sep 25 2015 14:18
@VasyaFromRussia конечно без это же прямо из хабра блога Google они встроили окно просмотра)
там две комнаты можно переключаться по спикерам)
Vladimir Abramov
@kivsiak
Sep 25 2015 14:22
старею, вместо того бы про мвц смотрю про метрики Ж)
arnoid
@arnoid
Sep 25 2015 14:26
б-же опять про Clean Architecture
и опять вопросы “А зачем нужен Presenter” :D
“Сколько у вас человек в команде?”
“А вот приходит новый человек в команду..."
в этом же чате была похожая дискуссия в этом чате на прошлой неделе
Vladimir Abramov
@kivsiak
Sep 25 2015 14:31
а есть ли тут iOS девы? Реально ли выделить общую библитеку граф движка использующую opengl es 2? что там наиболее совместимо c или с++ ?
takigava
@takigava
Sep 25 2015 15:44
@kivsiak На xamarin легко))alt вот как-то так
@kivsiak Картинка к c++ не к xamarin
Vladimir Abramov
@kivsiak
Sep 25 2015 15:46
меня смущает тут скорее opengl и будет ли оно совместимо с metal
takigava
@takigava
Sep 25 2015 15:46
@kivsiak А вот это хороший вопрос
@kivsiak www.juce.com Вот у этой фигни есть поддержка opengl и там и там вроде
Vladimir Abramov
@kivsiak
Sep 25 2015 15:55
это интересно
Vladimir Abramov
@kivsiak
Sep 25 2015 17:41
человеки, кто знает где добыть коллекцию национальных флагов (241 штук) в векторе или хорошем разрешении? можно и платно
все попадаетя или 48px макс или не полные коллекции
Herobbo
@Herobbo
Sep 25 2015 17:51
Как заставить RecyclerView обновляться после удаления или добавления айтемов. notifyDataSetChanged() почему то не пашет...
Sergey Yaremych
@sergeyfitis
Sep 25 2015 17:59
@Herobbo значит не правильно удаляешь
Vladimir Abramov
@kivsiak
Sep 25 2015 18:24
я чет 2 раза перечитал доку otto и чет не догоняю зачем нужны продюсеры. я отправил в шину событие через Bus.post . Subscriber его принял. А зачем нужны методы продюсеры?
Vladimir Mironov
@nsk-mironov
Sep 25 2015 18:26
это как sticky broadcast
в момент подписки получаешь последнее значение для данного типа события
не дожидаясь, пока произойдет новое событие
Vladimir Abramov
@kivsiak
Sep 25 2015 18:30
ага. Т.е. я делаю Bus.register(this) и если у меня в буффере висит событие я его получу. Может пригодится в случае ленивой инициализации
Herobbo
@Herobbo
Sep 25 2015 19:08
Люди, как удалить старые версии программы, из гугл плей?
Ато уже 3 штуки...
Vladimir Abramov
@kivsiak
Sep 25 2015 19:15
э?
у меня 70 уже. я как то не парюсь
Herobbo
@Herobbo
Sep 25 2015 19:16
Я имел в виду консоль разработчика... Похоже оттуда невозможно удалить апки
Vladimir Abramov
@kivsiak
Sep 25 2015 19:17
нажми ссылочку скрыть и тоже не парься Ж)
Herobbo
@Herobbo
Sep 25 2015 19:20
@kivsiak А ты знаешь что за сайт Appszoom. Через некоторое время после публикации, мне написал представитель этого сайта, представился Нико Санчезом и сказал, что мое приложение есть у них на сайте...
Vladimir Abramov
@kivsiak
Sep 25 2015 19:20
понятия не имею. я свою прилагу тоже на разных сайтах встречал. мне пофигу
takigava
@takigava
Sep 25 2015 19:53
@kivsiak Где-то в дизайнерских комьюнити я встречал коллекцию флагов в hi-res...А вот где....
Vladimir Abramov
@kivsiak
Sep 25 2015 20:13
@takigava совсем забыл что у меня есть выход на дизайнеров Ж) https://creativemarket.com/creativestall/97454-210-World-Flags-Vectors-and-Icons
takigava
@takigava
Sep 25 2015 20:17
@kivsiak )))
takigava
@takigava
Sep 25 2015 20:24
Помните мы разговаривали с разработчиками приложения gitter под андройд? Тут короче, в одном из моих тредов возник вопрос по поводу скипа\прыжка когда сообщения загружаются и не прочитанны..Что думаете?
Впринципе как сейчас в вебе
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 21:03
перейти к первому непрочитанному?
удобная функция, в вебе пользуюсь. А на мобе не держу вообще гиттер-не вижу смысла. Когда работаю и готов общаться на эти темы - я у компа, а если не у компа, то отдыхаю и как-то не охота на рабочие темы говорить)
Vladimir Abramov
@kivsiak
Sep 25 2015 21:09
и не держи. баттарейку жрет дико
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 21:17
Кстати на счет батарейки.. чет не пришла с ибея, пойду продавцу писать)
takigava
@takigava
Sep 25 2015 21:20
@BOOMik Просто чувака заблокировали на работе gitter и теперь он пользуется только мобтлой, вот и пришло редложение..
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 21:22
@takigava аа) Вообще не понимаю смысла этих блокировок. Если человек норм работате даже с включенными соцсетями и прочим, то все круто-если не работает-тогда смысл держать? А гиттер вообще глупо блокировать, ибо тут идет общение на тему работы, и благодаря этому комьюнити можно некоторые вопросы быстро решить, а не копать весь день на одну тему
takigava
@takigava
Sep 25 2015 21:23
@BOOMik Согласен..(((
@BOOMik Как я писал выше"объясни это руководству и заказчику")))))
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 21:25
@takigava ну тут да) Благо у меня руководство адекватное (сами программисты), а с заказчиками на работе не общаюсь, а так иногда бывают не особо, но мало таких попадалось) и особо не фрилансю
takigava
@takigava
Sep 25 2015 21:26
@BOOMik Повезло тебе)
@BOOMik Я насчёт своих могу пеной у рта доказывать и всё равно я не прав...А потом выяснется что заказчик хотел иначе..(((Пфф....
Я бы их всех в котёл,да на огонь по жпрче)
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 21:29
@takigava надо бы)
Кстати тут есть владельцы Galaxy nexus? (Да, до сих пор им пользуюсь)
Какую прошивку на 5.1 посоветуете?
Kirill Ashikhmin
@KirillAshikhmin
Sep 25 2015 22:34
This message was deleted