Pages: 1 2
[#] Парсер ссылок для Цезия
vit01(mira, 1) — All
2016-08-21 20:34:18


Позволит быстро открывать ссылки в браузере в режиме чтения сообщений.
При нажатии V выдаёт список ссылок и спрашивает нужную (Enter - отмена).
Если же нажать v (строчную), то сразу же открывает первую с конца (очень полезно в таких эхах, как lor-opennet, habra, mlp, piratemedia, vk и так далее).

Патч протестирован и готов к работе.

Установка:

1. Скачиваем https://ii-net.tk/ii/files/links-parser.patch и кладём файл в каталог с Цезием
2. Можно сделать git reset, если клавиши стоят андроидовские
3. Набираем git apply links-parser.patch
4. Накладываем патч для клавиш обычным способом
5. Если сидим на Termux, то добавляем в конфиг строку "browser termux-open-url"

// Зачем пишу здесь, а не в Issues?
// 1. Может пригодиться народу заранее, т.к. реально полезная штука
// 2. На гитхаб мало кто смотрит, а так хотя бы видно, что не бездельничаю

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-21 23:03:36


> Патч протестирован и готов к работе.

Спасибо за патч, но он пока требует некоторых доработок. У меня в слаквари при попытке открыть ссылку цезий сругался на отсутствие x-www-browser, потом открыл не тот браузер, который надо, а потом навалял кучу мусора поверх интерфейса. Не хочется пока такое допускать в апстриме. Буду думать и пробовать.

[#] Re: Парсер ссылок для Цезия
vit01(mira, 1) — Andrew Lobanov
2016-08-22 09:53:32


>> Хотя, если в конфиге указать браузер, то начинает нормально работать. Если ничего лучше не придумаю завтра, то пушну в апстрим.

AL> Как можно webbrowser заставить не гадить в stdout?

Ты точно уверен, что это stdout? Может быть, stderr? Вот последний как раз следовало бы подавить. А stdout нужен для работы текстовых браузеров.

Модуль webbrowser импортирует subprocess, поведение которого можно по идее переопределить в рантайме. Копай в эту сторону.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-21 23:20:19


Хотя, если в конфиге указать браузер, то начинает нормально работать. Если ничего лучше не придумаю завтра, то пушну в апстрим.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-22 10:40:54


> Ты точно уверен, что это stdout? Может быть, stderr? Вот последний как раз следовало бы подавить. А stdout нужен для работы текстовых браузеров.

Хм. Это я не подумал ага =)

> Модуль webbrowser импортирует subprocess, поведение которого можно по идее переопределить в рантайме. Копай в эту сторону.

Беглое гугление ничего не дало, так что я использовал костыль в виде перерисовки экрана после открытия ссылки.

2All: Фичу запилил по-своему, но спасибо Виктору за патч. Без него я бы ещё долго запиливал это дело.

Принцип работы такой: если в сообщении есть только один URL, то он откроется по V. Если же больше, то откроется менюшка выбора. Правда там пока нет элементарной проверки количества ссылок. Если элементов меню больше, чем высота терминала - 2, то цезий упадёт. Но это в будущем будет исправлено.

Заодно положил начало произвольным менюшкам, которые позволят осуществлять некоторые действия через меню, а не через хоткеи. Например, в будущем при сохранении сообщений можно будет выбрать в черновики его отправить или сразу в исходящие.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-21 23:19:13


> Патч протестирован и готов к работе.

Спасибо за патч, но он пока требует некоторых доработок. У меня в слаквари при попытке открыть ссылку цезий сругался на отсутствие x-www-browser, потом открыл не тот браузер, который надо, а потом навалял кучу мусора поверх интерфейса. Не хочется пока такое допускать в апстриме. Буду думать и пробовать.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — All
2016-08-22 09:28:18


> Хотя, если в конфиге указать браузер, то начинает нормально работать. Если ничего лучше не придумаю завтра, то пушну в апстрим.

Таки иногда рисует мне "В текущем сеансе браузера создано новое окно.", ломая всё отображение. Причём уже после openLink(...) и перерисовке интерфейса. Как можно webbrowser заставить не гадить в stdout?

[#] Re: Парсер ссылок для Цезия
vit01(mira, 1) — Andrew Lobanov
2016-08-22 11:33:57


AL> Принцип работы такой: если в сообщении есть только один URL, то он откроется по V. Если же больше, то откроется менюшка выбора. Правда там пока нет элементарной проверки количества ссылок. Если элементов меню больше, чем высота терминала - 2, то цезий упадёт. Но это в будущем будет исправлено.

О нет! Придётся мне и вправду форкаться в таком случае.

1. Сначала тоже хотел сделать менюшку, но остановился на plaintext-варианте по причине урезания урлов. Да, при твоём варианте длинные ссылки видно не полностью. Уже проверил.

2. Ну зачем было убирать возможность открытия последней ссылки? В половине новостных эх именно это экономит время, потому что только она ведёт на оригинальный пост. А теперь мне надо будет открывать меню, скроллить в конец и нажимать Enter.

Хотелось как лучше, а получилось...

Суть патча была, чтобы одним нажатием перейти на полную версию новости. А если вдруг захотелось на какую-то специфичную ссылку из текста, то чуть больше, чем одним.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-22 13:16:01


> Боты могут постить не только картинки, но и ссылки на другие новости, на Википедию и куда угодно. Увы, но заставить авторов статей публиковать всё в 100% идеальном формате мы не можем. Только если дополнительные фильтры на RSS-обработчик пихать, не более.

И в таком случае выбор ссылки нужен да. Но я стремлюсь у поведению "наименьшего удивления". Хотя цезий и для красноглазых, но тем не менее, хочется сделать его юзер-френдли.

> Понимаю твои слова про сетевой этикет, но обходные пути всё равно неизбежны. Ничего, напишу ещё немного кода для этого, пока что такие вещи позволить себе можно.

Можно включить открытие последней ссылки в сообщении, но это выглядит как некий костыль.

> Заголовок сообщения - это сабж? Тогда мог бы пожаловаться, я бы исправил.

Ну там кто, кому, когда, сабж. У меня в глазах (точнее в мозгу) оно сливается в одну простыню и мозг не отделяет сообщения от этой информации. Но я понимаю, что это мои заморочки и на всех не угодить. Так что и исправлять не надо.

> А "стена новых сообщений" - это как раз вкусная фича, если с моей точки зрения подходить. Опять же, сколько людей, столько и мнений.

Вот и я к тому же. Разные взгляды неизбежны. Конкретно про твой патчмогу сказать, что я его накатил, поигрался с ним, потыкал и так и этак и решил, что сделаю как изначально планировал.

> Вот это как раз самый интересный вопрос. Знаешь, почему я не пишу андроид-клиент? Нет, не угадал, не из-за Java...

Я всё на kivy смотрю.

> Из-за Vim. Да, да! Как представляю себе, что придётся набирать сообщение в стандартном андроидовском TextEdit вместо Вима, сразу такая тоска нападает. Ведь любое неверное нажатие по тачскрину "портит текст". И позиционирование курсора до жути неудобное. Поэтому и пришлось приспосабливать как-то Цезий. Может быть, есть какой-то более удобный вариант?

Отчасти согласен. С другой стороны, имею опыт использования HotdogEd (клиент для FidoNET) уже несколько месяцев и вполне меня устраивает такой метод ввода. Хотя, я emacs предпочитаю =)

[#] Re: Android клиент
vit01(mira, 1) — btimofeev
2016-08-22 20:23:20


btimofeev> Я бы поучавствовал. Но тут нужно сначала спроектировать интерфейс для андроида, т.к. вариантов можно придумать много, но не все понравятся каждому.

Лучшие дизайнеры с самыми кривыми руками руками почесали репу, чтобы сделать вот такой макет:

https://ii-net.tk/ii/files/nkNjC4knvbGSn3WAm9HM.jpg

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-08-22 20:27:34


А если серьёзно, то сюда надо ещё как-то впихнуть прокрутку (постраничную?) и как-то продумать менюшку, чтобы она была на всех экранах сразу.

[#] Re: Парсер ссылок для Цезия
Andrew Lobanov(tavern,1) — vit01
2016-08-22 16:26:29


> Ещё проблема стоит в том, что этим клиентом кроме меня опять никто пользоваться не будет. Поэтому на реальную помощь (пуллреквесты тем более) рассчитывать не приходится.

Нативный клиент под андроид востребован как минимум мной, но я не знаю Java от слова совсем и на серьёзную помощь от меня рассчитывать не стоит. Хотя, может и поуслужит поводом восполнить этот пробел.

[#] Re: Парсер ссылок для Цезия
vit01(mira, 1) — Andrew Lobanov
2016-08-22 16:18:06


>> Из-за Vim. Да, да! Как представляю себе, что придётся набирать сообщение в стандартном андроидовском TextEdit вместо Вима, сразу такая тоска нападает. Ведь любое неверное нажатие по тачскрину "портит текст". И позиционирование курсора до жути неудобное. Поэтому и пришлось приспосабливать как-то Цезий. Может быть, есть какой-то более удобный вариант?

AL> Отчасти согласен. С другой стороны, имею опыт использования HotdogEd (клиент для FidoNET) уже несколько месяцев и вполне меня устраивает такой метод ввода. Хотя, я emacs предпочитаю =)

// У меня вот Emacs в связке с CutieFeed на десктопе отлично справляется. На андроиде - только Vim.

Можно вообще сделать так, чтобы исходящие сохранялись во внутреннюю память и открывались в системном редакторе. А на вторую сторону поставить какой-нибудь VimTouch. Но оригинальный Vim в связке с Termux и с небольшим подпилом всё равно удобнее.

Ещё проблема стоит в том, что этим клиентом кроме меня опять никто пользоваться не будет. Поэтому на реальную помощь (пуллреквесты тем более) рассчитывать не приходится.

[#] Re: Android клиент
geomaster(mira, 23) — vit01
2016-08-23 08:41:35


У HotdogEd`а позитуринского неплохой дизайн. Можно взять его как основу.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — geomaster
2016-08-23 09:57:06


> У HotdogEd`а позитуринского неплохой дизайн. Можно взять его как основу.

У сосиски очень хороший дизайн. Правда планшетный не тыкал, бо не на чем, но на телефоне вполне себе вещь.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — btimofeev
2016-08-23 11:38:58


> Мне кажется вы издеваетесь. Судя по скринам это какой-то ужас родом из android 2.

Выглядит он действительно как андроид 2 (кстати, на 2.3 запускается). Но юзабилити у него очень хорошее. И вот это меня в его дизайне прельщает. А какого цвета кнопочки меня волнует мало =)

[#] Re: Android клиент
vit01(mira, 1) — btimofeev
2016-08-23 08:42:46


btimofeev> В верхней части переключение между нодами с помощью нажатия на кружки или нажатия на имя ноды и выбора другой из списка.

Кружки здесь совсем не в тему. А если у тебя 5 штук станций, например? Так что лучше второй вариант.

btimofeev> Далее идут список эх с количеством прочтенных/непрочтенных сообщений и опциями

Список эх - слишком жирно для nav drawer'а. Если у человека по 40 эх в подписках, то будет очень неудобно прокручивать.

btimofeev> Тут же можно сделать разделы черновики, отправленные, избранное и т.п. Ну и в конце настройки.

Да, а вот это как раз нужно засунуть именно туда.

Правда, опять же вопрос, как в другие диалоги (а именно эхочиталка) это удобно интегрировать.

btimofeev> сразу попадаем на список сообщений выбранной эхи. По нажатию на элемент списка открывается сообщение. Свайп влево/вправо - переход к предыдущему/следующему сообщению.

Вот подобная фича в стандартном Email-клиенте андроида очень удобная. Как раз предполагал что-то подобное.

[#] Re: Android клиент
btimofeev(tavern,13) — Andrew Lobanov
2016-08-23 11:02:23


>> У HotdogEd`а позитуринского неплохой дизайн. Можно взять его как основу.
AL> У сосиски очень хороший дизайн. Правда планшетный не тыкал, бо не на чем, но на телефоне вполне себе вещь.

Мне кажется вы издеваетесь. Судя по скринам это какой-то ужас родом из android 2.

[#] Re: Android клиент
vit01(mira, 1) — geomaster
2016-08-23 08:57:29


geomaster> У HotdogEd`а позитуринского неплохой дизайн. Можно взять его как основу.

Уже смотрел на скриншоты. Планшетный интерфейс там хорош. Если мы позаботимся о масштабировании, то как раз что-то подобное получится.

[#] Re: Android клиент
btimofeev(tavern,13) — vit01
2016-08-23 11:02:23


vit01> Кружки здесь совсем не в тему. А если у тебя 5 штук станций, например? Так что лучше второй вариант.

Это является стандартным поведением для material дизайна. Есть эти круги где ты можешь одним тапом переключаться между последними использованными аккаунтами и ниже раскрывающийся список со всеми аккаунтами (но уже в 2 тапа). Вот библиотечка реализующая все это, можешь посмотреть скрины или скачать демо: https://github.com/mikepenz/MaterialDrawer

vit01> Список эх - слишком жирно для nav drawer'а. Если у человека по 40 эх в подписках, то будет очень неудобно прокручивать.

Тут конечно спорный вопрос, нужно сделать пару тестовых демок и опробовать как будет удобнее.

Я к примеру пользуюсь программой для чтения rss FeedMe, в nav drawere у меня 70 подписок всего, но их можно группировать по папкам и отдельной кнопкой скрывать/показывать подписки в которых все сообщения прочитаны. Постоянно у меня отображаются только подписки с непрочитанными сообщениями и это очень удобно. Но там так же сделано, что навдравер открыт сразу при запуске приложения и по нажатию кнопки back так же открывается навдравер, так что поведение не стандартное.

Можно, конечно, список эх вынести на главный экран, это будет более логично. Но потребуется больше переходов: экран со списком эх, по тапу открывается экран со списком сообщений, по тапу открывается сообщение. Но как это будет выглядеть на планшетах? Список сообщений и одно выбранное сообщение можно разместить рядом на одном экране, а список эх куда деть? В варианте с навдравером ты просто открываешь навдравер и вот тебе список эх на том же экране. Более того: тут же у тебя и список нод и черновики и тд и тп. Количество лишних переходов между экранами уменьшается.

[#] Re: Android клиент
btimofeev(tavern,13) — vit01
2016-08-23 00:15:01


Я предлагаю список нод и эх вынести в navigation drawer. Потипу как это сделано в gmail. Вот такого типа https://www.dropbox.com/s/vempgn7emt19jqe/share_tmp_4452.png

В верхней части переключение между нодами с помощью нажатия на кружки или нажатия на имя ноды и выбора другой из списка.

Далее идут список эх с количеством прочтенных/непрочтенных сообщений и опциями (типа удалить эху, удалить сообщения в эхе и т.п.). Тут же можно сделать разделы черновики, отправленные, избранное и т.п. Ну и в конце настройки.

По закрытию nav driver'а сразу попадаем на список сообщений выбранной эхи. По нажатию на элемент списка открывается сообщение. Свайп влево/вправо - переход к предыдущему/следующему сообщению.

[#] Re: Android клиент
vit01(mira, 1) — btimofeev
2016-08-23 11:41:29


btimofeev> Есть эти круги где ты можешь одним тапом переключаться между последними использованными аккаунтами и ниже раскрывающийся список со всеми аккаунтами (но уже в 2 тапа).

Хмм. Посмотрел скрины библиотеки, вроде бы выглядит логично. Правда, вопрос, как это в конфиге хранить.

btimofeev> Можно, конечно, список эх вынести на главный экран, это будет более логично. Но потребуется больше переходов: экран со списком эх, по тапу открывается экран со списком сообщений, по тапу открывается сообщение. Но как это будет выглядеть на планшетах? Список сообщений и одно выбранное сообщение можно разместить рядом на одном экране, а список эх куда деть? В варианте с навдравером ты просто открываешь навдравер и вот тебе список эх на том же экране. Более того: тут же у тебя и список нод и черновики и тд и тп. Количество лишних переходов между экранами уменьшается.

Список эх на планшетах можно разместить в дополнительном navdrawer-е справа, который будет открываться свайпом.
Если человек читает какую-то эху, список эх ему в данный момент не очень-то нужен.

Всё-таки смешивать мух с котлетами (черновики, избранные, настройки и список эх) не есть хорошая идея. Когда на экране мало места, оно будет мешаться друг с другом и создавать неудобства. Пусть даже и переходов больше, но зато тыкать проще будет.

Ладно, надо хотя бы что-то попробовать сделать для начала.
Сижу тут в андроид студии и мучаюсь с попытками запихнуть данные в spinner, находящийся внутри navigation drawer. Как-то по-хитрому к нему надо обращаться, не по id.

[#] Re: Android клиент
btimofeev(tavern,13) — btimofeev
2016-08-30 07:35:19


vit01>> На Гитхаб, конечно же, залью, но до первой доступной версии пусть здесь побудет.

btimofeev> Может лучше сразу на гитхаб? Там все же удобнее.

Или хотя бы в архив запакуй, ибо wget мне рекурсивно 10 минут что-то там качал, а в ииоге половины файлов нет и проект не компилируется. Но лучше на гитхаб.

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-08-23 12:17:23


Что-то вроде такого: https://ii-net.tk/ii/files/xj5tLWbkFw5JevtsTY16.png

[#] Re: Android клиент
vit01(mira, 1) — btimofeev
2016-08-31 04:54:58


btimofeev> Я тут накатал демку как я примерно представляю себе nav drawer в этом приложении.

Ага, посмотрел. Представляю себе его как раз так же. Правда, со всякими значками и с дизайном возиться пока лень (лишь бы работало).

Дал тебе RW-доступ в репозиторий; коль желание есть, можешь прикрутить самостоятельно.

[#] Re: Android клиент
btimofeev(tavern,13) — vit01
2016-08-30 20:39:26


vit01> 1. Система конфигурации и настроек (стандартного SharedPreferences для клиента уже мало, а JSON в джаве очень трудно разгребать)

А в чем проблема с SharedPreferences (я с ними никогда не работал)?

А с json просто работать через библиотеку https://github.com/google/gson Я в одной программе её использовал, она объект конвертирует в json или наоборот - json в объект. Но я смотрю ты и стандартными средствами java примерно так же сделал.

[#] Re: Android клиент
btimofeev(tavern,13) — vit01
2016-08-31 01:56:44


Я тут накатал демку как я примерно представляю себе nav drawer в этом приложении. Apk можно скачать по ссылке https://www.dropbox.com/s/if3winyztues63b/material-drawer-test.apk

Как вариант можно убрать круги и сделать верхнюю часть меньшей высоты.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-08-31 06:53:19


Уи-и-и! Какие вы клёвые. Нативный клиент под андроид это ж прям сказка =)

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-08-31 09:59:10


Итак, текущий прогресс:

1. Появилась DebugActivity
2. Наконец-то работает фетчер!
3. Исправлены кое-какие баги в интерфейсах, связанные с опечатками и с моим незнанием Java

Тем, кто любит смотреть на скриншоты, будет пока только это:

https://ii-net.tk/ii/files/AUgAQ7fULbo1WrXVADm2.png
https://ii-net.tk/ii/files/zQRRcxAASQY7HzSmpCRY.png

На Гитхабе оно уже есть, конечно же.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-08-31 10:50:21


AL>> А будет возможность читать по одному сообщению на экран и переключаться между ними свайпом?

> Да, это планируется. Только вот надо сначала базовые вещи до ума довести.

Я на всякий случай спросил. На тему базовых вещей я даже в цезии долго возился. Адекватная прокрутка при выборе конференций, отрисовка сообщений, разбиение на строки по ширине терминала. Вот это вот всё.

> Например, фетчер сохраняет сообщения в чёрт знает каком порядке, поэтому приходится сортировать их по дате.

Кстати, странно. Отпишись как разберёшься с проблемой. Интересно в чём причина.

> Ещё в дебаг-окне без автопрокрутки жизнь очень печальная.

Это да.

> И окно конфига для станций надо реализовать как можно скорее.

Вот это больная мозоль у меня. До сих пор не могу решиться взять и написать это для цезия.

> Если буду писать клиент каждый день, то за месяц, наверное, юзабилити какое-то появится :)

Да не суть. Хоть в подарок на НГ %)

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-08-31 10:21:03


> 1. Появилась DebugActivity
> 2. Наконец-то работает фетчер!
> 3. Исправлены кое-какие баги в интерфейсах, связанные с опечатками и с моим незнанием Java

Круть!

> Тем, кто любит смотреть на скриншоты, будет пока только это:

> https://ii-net.tk/ii/files/zQRRcxAASQY7HzSmpCRY.png

А будет возможность читать по одному сообщению на экран и переключаться между ними свайпом?

[#] Re: Android клиент
vit01(mira, 1) — Andrew Lobanov
2016-08-31 07:07:52


Да ты чего, он ещё настолько сырой, что ни отобразить ничего (кроме списка эх), ни зафетчить пока не может :)

Пока только терпение; может быть, через месяц что-то готово будет.

// прямо сейчас сижу и шаманю над фетчером

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-08-31 17:01:01


Что нового:

1. Работает настройка таймаута для сетевых соединений
2. Сделал окно настроек станций (пока нельзя добавлять/удалять сами станции и править список эх, но остальное делать можно) как точную копию подобного из CutieFeed
3. Товарищ btimofeev приделал крутой Navigation Drawer с иконками и нескучными обоями. Спасибо за Pull Request!

И снова скриншоты для наглядности:

https://ii-net.tk/ii/files/vSojhORudrzsetuuhmIb.png
https://ii-net.tk/ii/files/z0Wtpy8382zM6QIuXpWB.png

[#] Re: Android клиент
vit01(mira, 1) — Andrew Lobanov
2016-08-31 10:36:47


AL> А будет возможность читать по одному сообщению на экран и переключаться между ними свайпом?

Да, это планируется. Только вот надо сначала базовые вещи до ума довести.

Например, фетчер сохраняет сообщения в чёрт знает каком порядке, поэтому приходится сортировать их по дате. Ещё в дебаг-окне без автопрокрутки жизнь очень печальная. И окно конфига для станций надо реализовать как можно скорее.

Если буду писать клиент каждый день, то за месяц, наверное, юзабилити какое-то появится :)

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-09-02 18:06:02


Уже соскучились по коммитам? Только что отправил в клиент новую годную фичу - универсальное окошко для редактирования списка эх.

Может править как оффлайн-эхи, так и эхи какой-нибудь станции.

Чтобы поправить список, не надо ходить далеко в настройки: просто делаете долгое нажатие на главном экране и попадаете в этот диалог. Изменения отображаются сразу же, наглядно, прямо как в CutieFeed. Это гораздо удобнее, чем было раньше в клиенте ntkrnlmp.exe из 2014 года.

Скриншот:
https://ii-net.tk/ii/files/nw7vOCKxCpTzoyX9legn.png

На сегодня все возможности конфигурирования полностью готовы, и я могу сосредоточиться на главном функционале клиента.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-08-31 18:18:55


> Что нового:

> 1. Работает настройка таймаута для сетевых соединений
> 2. Сделал окно настроек станций (пока нельзя добавлять/удалять сами станции и править список эх, но остальное делать можно) как точную копию подобного из CutieFeed
> 3. Товарищ btimofeev приделал крутой Navigation Drawer с иконками и нескучными обоями. Спасибо за Pull Request!

Выглядит очумительно. Прямо глаз радуется.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-09-06 16:47:34


> 1. Починил баг с неправильной сортировкой и с "пропажей" сообщений. Как оказалось, фетчер здесь совершенно ни при чём. Проблема была из-за логической ошибки при запросе данных из Cursor (смотреть файл SqliteTransport.java). Ошибка очень глупая, и стыдно как-то даже.

Фигня. Все делают ошибки. И все рано или поздно делают глупые ошибки. А я особенно (история коммитов цезия тому доказательство) =)

> 2. Написал фрагмент для просмотра сообщения и сделал то самое офигенное переключение свайпом! (через ViewPager)

Аааа! Переключение свайпом это офигенно да =)

> И самое главное - скриншоты:

Красотень. Где-нить собраднные apk-шки можно глянуть?

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-08-31 20:31:01


И вдогонку:

1. Причесал и улучшил код для Navigation Drawer'а, вынес некоторые моменты и сделал обновление списка станций по onResume()
2. Теперь можно добавлять и удалять станции!

Дальше надо бы сделать виджет редактирования списка эх. И вот тут-то вряд ли поможет изобретение велосипеда.

[#] Re: Android клиент
vit01(mira, 1) — vit01
2016-09-06 16:28:41


Ура, товарищи! С клиента наконец-то можно что-то почитать.

Набор изменений:

1. Починил баг с неправильной сортировкой и с "пропажей" сообщений. Как оказалось, фетчер здесь совершенно ни при чём. Проблема была из-за логической ошибки при запросе данных из Cursor (смотреть файл SqliteTransport.java). Ошибка очень глупая, и стыдно как-то даже.
2. Написал фрагмент для просмотра сообщения и сделал то самое офигенное переключение свайпом! (через ViewPager)

И самое главное - скриншоты:

https://ii-net.tk/ii/files/nXbvLIx9c8ezLBxoHQuW.png
https://ii-net.tk/ii/files/6ajGVdyQxHW2uc73aJrF.png

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-09-07 06:58:26


> Насчёт полезности классической карбонки как раз хочу поспорить. У нас в секте часто приходится отвечать на сообщения с адресатом All или вообще вмешиваться в "чужой" разговор. А ещё сложилась практика отвечать самому себе.

Начинать разговор, вклиниваться в разговор и отвечать самому себе (я правда перебиваю адресат в таком случае как правило) это совсем другой юзкейс =) Тут же именно увидеть где и кто тебе написать в отдельном месте удобней.

AL>> Достаточно просто иметь кнопку скрытия прочитанных конференций. Во всяком случае попробуй такой вариант рассмотреть.

> Подумал и пока не знаю, как это может выглядеть. Вот как посмотришь APK, скажи, как бы ты это реализовал.

Сегодня накачу. Буквально в ближайшие часы.

> Просто с текущим андроидо-GUI одного скрытия будет недостаточно. Мне вот нравился вариант Цезия, где по всем непрочитанным можно пройтись буквально одной кнопкой.

Цезий просто ориентирован на машинки с разделением устройств ввода и вывода. А когда надо тыкать в экран, надо оптимизировать выводимую информацию.

В общем, пока не смотрел apk и потому не буду ничего по теме говорить.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-09-07 06:58:26


> Ура, товарищи! С клиента наконец-то можно что-то почитать.

Попробовал. В целом понравилось. Странными показались несколько аспектов: не могу понять в какой момент сохраняются настройки станции (один раз удалось перебить адрес, а потом уже не удавалось), не понял как добавить новую станцию (или пока нет такого функционала?) и немного смутило положение кнопок при чтении. Может, стоит их вынести в меню? Заодно какой-нить шаринг сделать =)

В целом, не взирая не ожидаемые шероховатости, клиент очень понравился. По скринам он выглядел скучнее =)

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-09-07 11:14:18


AL>> Тут же именно увидеть где и кто тебе написать в отдельном месте удобней.
> Вот в клиенте ntkrnlmp.exe была опция выделения цветом сообщений для таких случаев. Очень удобно.

Но в таком случае теряется самая суть - оперативность. То есть пока я не дочитаю до нужного сообщения в нужной эхе, я не смогу его увидеть. По крайней мере в цезии получается очень удобно сразу же просмотреть, что мне написали и ответить на это, а потом уже неторопливо почитывать остальную почту. Даже на это сообщение я отвечаю из карбонки.

AL>> не могу понять в какой момент сохраняются настройки станции
> Когда ты закрываешь настройки станций или переходишь на другую вкладку (станцию) в этих самых настройках

Но адрес ноды оно мне не сохраняло.

AL>> не понял как добавить новую станцию
> Открываешь Navigation Drawer, жмёшь на название станции. Высвечивается список, где внизу кнопка со значком плюса "Добавить станцию".

Таковая кнопка пропала после удаления одной из двух станций. Или после добавления второй. Я, если честно, рано утром глядел и мог просто не уловить момент точно.

AL>> немного смутило положение кнопок при чтении. Может, стоит их вынести в меню?
> Ответ и ответ с цитатой? Не, здесь фишка как раз, что эти кнопки рядом. Вот я их собираюсь в размерах увеличить и выровнять по центру, как в Email-клиентах. Но в меню продублировать можно тоже.

Ну ответить и ответить с цитатой вполне логично: дочитал, потом ответил. А вот добавить в избранные не настолько часто нужная фича, чтобы так сильно занимать место на экране.

> Шаринг - это меню "Поделиться", как часто в приложениях делают? Хмм, тут Content Provider приделывать надо, да и не очень понятно, чем именно делиться. Кстати, я специально поставил так, чтобы поле msgid и текст сообщения можно было копировать.

Ну типа да. Можно, конечно, и копипастить, но на мелких экранах неудобно выделять область сообщения, а тут уже при отправке отрезать лишнее проще. Хотя, мой опыт работы с тыкательным междумордием мал, и вполне может оказаться, что я не прав. Но это настолько некритичная штука, что озвучил я её, наверное, зря.

// Ещё бы темы иметь. Хотя бы светлую и тёмную, бо ночью от белого глазки устают даже на минимальной яркости. Но это так. Фантазии.

[#] Re: Android клиент
vit01(mira, 1) — Andrew Lobanov
2016-09-07 10:50:49


AL> Тут же именно увидеть где и кто тебе написать в отдельном месте удобней.
Вот в клиенте ntkrnlmp.exe была опция выделения цветом сообщений для таких случаев. Очень удобно.

AL> не могу понять в какой момент сохраняются настройки станции
Когда ты закрываешь настройки станций или переходишь на другую вкладку (станцию) в этих самых настройках

AL> не понял как добавить новую станцию
Открываешь Navigation Drawer, жмёшь на название станции. Высвечивается список, где внизу кнопка со значком плюса "Добавить станцию".

AL> немного смутило положение кнопок при чтении. Может, стоит их вынести в меню?
Ответ и ответ с цитатой? Не, здесь фишка как раз, что эти кнопки рядом. Вот я их собираюсь в размерах увеличить и выровнять по центру, как в Email-клиентах. Но в меню продублировать можно тоже.

AL> Заодно какой-нить шаринг сделать =)
Шаринг - это меню "Поделиться", как часто в приложениях делают? Хмм, тут Content Provider приделывать надо, да и не очень понятно, чем именно делиться. Кстати, я специально поставил так, чтобы поле msgid и текст сообщения можно было копировать.

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — geomaster
2016-09-07 08:55:46


> Да, в почтовых клиентах Андроида есть такая фича - Умная папка. Она собирает последние N сообщений (или непрочитанные сообщения) по всем учеткам. Но это сделано через отдельный вид клиента. Можно настроить несколько видов: классический, "Умная папка" и еще чего-нибудь на вкус клиентописателя. Вот в такой реализации - Умная папка - было бы удобно. А карбонку лучше оставить как есть.

Вот да. Карбонка, непрочитанные (раздельно) и скрытие конференций без новых сообщений удовлетворят если не всех, то почти всех =)

[#] Re: Android клиент
vit01(mira, 1) — geomaster
2016-09-07 10:50:50


geomaster> Можно настроить несколько видов: классический, "Умная папка" и еще чего-нибудь на вкус клиентописателя. Вот в такой реализации - Умная папка - было бы удобно. А карбонку лучше оставить как есть.

Да, можно и так. Хоть я всё равно в нужности классик-карбонки сомневаюсь, но отказываться от неё, видимо, не стоит. Не очень приятно ещё, что при таком раскладе придётся сообщения считывать сразу после фетча, но что поделаешь.

[#] Re: Android клиент
geomaster(mira, 23) — vit01
2016-09-07 08:42:19


AL>> // Про карбонку
>>> Я же хотел бы сделать совсем по-другому, превратив бывшую карбонку в какое-то подобие отстойника для непрочитанных сообщений. То есть в это место будут сваливаться все сообщения, которые были получены с последнего фетча.
Да, в почтовых клиентах Андроида есть такая фича - Умная папка. Она собирает последние N сообщений (или непрочитанные сообщения) по всем учеткам. Но это сделано через отдельный вид клиента. Можно настроить несколько видов: классический, "Умная папка" и еще чего-нибудь на вкус клиентописателя. Вот в такой реализации - Умная папка - было бы удобно. А карбонку лучше оставить как есть.

[#] Re: Android клиент
btimofeev(tavern,13) — Andrew Lobanov
2016-09-07 11:07:14


AL> скрытие конференций без новых сообщений

Поддерживаю вот этот вариант. Удобно когда отображаются только непрочитанные сообщения, а что бы отобразить все, просто нажимаешь иконку в тулбаре. Ну и так же при просмотре всех сообщений можно отделять непрочитанные более жирным заголовком, к примеру.

[#] Re: Android клиент
btimofeev(tavern,13) — vit01
2016-09-07 11:07:14


vit01> Над дизайном надо ещё долго заморачиваться (мой идеал - стандартный Email-клиент андроида). Но если что, пулл-реквесты с радостью принимаю. Работа с подстановкой нужных иконок и доведением layout несложная (хоть и долгая).

Сделай пожалуйста несколько скриншотов стандартного email клиента, так как у меня есть только gmail и inbox, а стандартный я видел когда-то давно в 4 андроиде, но уже не помню что там.

Я как раз вчера начал работать с layout'ами, сегодня-завтра постараюсь продолжить и пришлю пулл реквест.

Я тебе писал в джаббере, но ты туда похоже не заходишь, так что спрошу здесь: в папках drawable лежат иконки, можно их удалить? (у себя локально я уже удалил) Ибо все материальные иконки от гугла уже вшиты в apk в виде шрифта. Использовать их можно вот таким образом:

new IconicsDrawable(this).icon(GoogleMaterial.Icon.gmd_settings).color(Color.RED).sizeDp(24)

[#] Re: Android клиент
Andrew Lobanov(tavern,1) — vit01
2016-09-07 11:14:18


> Хоть я всё равно в нужности классик-карбонки сомневаюсь, но отказываться от неё, видимо, не стоит.

Когда кто-то в своём клиенте не делает карбонку, где-то в мире грустит один Андрей =)

Похоже, кроме меня и Ромы ей никто особо и не пользуется.

[#] Re: Android клиент
vit01(mira, 1) — btimofeev
2016-09-08 09:12:33


Оу, нет. Извиняюсь за неточность, но шрифты меня не устраивали в свайпоокне просмотра сообщения (потому что они серые и трудночитаемые). В списке как раз на данный момент шрифты идеальные.

Остальные пулл-реквесты обязательно смержу, как закончу работу над своим багом.

Pages: 1 2