Сообщения в Re: Android клиент

Re: Android клиент

vit01> Можно попробовать уменьшить эту задержку, чтобы не сильно заметно было.
Уменьшил до 10 мс. Вроде бы, теперь лучше ведёт себя.
AL> Ещё лучше прятать строку "Ответ:-" в случае пустого repto. Но это так. Косметический недостаток.
Сделано
AL> Пока нахожусь на экране редактирования списка все ок. Как только с него ухожу, все новые эхи пропадают.
Исправлено
Difrex> Нужно сделать кнопку быстрого ответа. Чтобы сообщение сразу улетело после написания. Т.е. просто повесить save/push на одну кнопку. :)
И это тоже сделано.

APK уже на сервере, качайте.
vit01 to All (2016-09-28 07:00:45) [ссылка]

Re: Android клиент

Ответ на сообщение
Понячий цвет нравится, кстати. Хороший :)
Andrew Lobanov to vit01 (2016-09-28 08:51:03) [ссылка]

Re: Android клиент

Ответ на сообщение
Косяк с отображением сообщения ii://N0PyIsawAJfz1GWzEnAO
Andrew Lobanov to vit01 (2016-09-28 09:11:37) [ссылка]

Re: Android клиент

Ответ на сообщение
И ещё ii://zJ4tr6x9f4zF4hSQ8XbH
Andrew Lobanov to vit01 (2016-09-28 10:12:26) [ссылка]

Re: Android клиент

Ответ на сообщение
Difrex>> Нужно сделать кнопку быстрого ответа. Чтобы сообщение сразу улетело после написания. Т.е. просто повесить save/push на одну кнопку. :)
vit01> И это тоже сделано.
Круто!
Difrex to vit01 (2016-09-28 15:12:45) [ссылка]

Re: Android клиент

Ответ на сообщение
Difrex>> Нужно сделать кнопку быстрого ответа. Чтобы сообщение сразу улетело после написания. Т.е. просто повесить save/push на одну кнопку. :)
vit01> И это тоже сделано.
А отправляется только это сообщение или и всё что есть в черновиках?
btimofeev to vit01 (2016-09-28 16:55:31) [ссылка]

Re: Android клиент

Ответ на сообщение
Difrex>>> Нужно сделать кнопку быстрого ответа. Чтобы сообщение сразу улетело после написания.
vit01>> И это тоже сделано.
btimofeev> А отправляется только это сообщение или и всё что есть в черновиках?
Только это сообщение. И запускается отправка в отдельном Thread. Как помню, у ntkrnlmp.exe было точно так же в клиенте.
vit01 to btimofeev (2016-09-28 22:26:15) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> Косяк с отображением сообщения ii://N0PyIsawAJfz1GWzEnAO
Исправил баг достаточно грязным хаком. (заменяя символ < на <)

Проблема была в том, что <такой> текст виджет TextView воспринимал как html-теги и удалял.
AL> Понячий цвет нравится, кстати. Хороший :)
А то! Без 20%-го прироста крутости не обойтись :)

Кстати, вот это дело посмотри: https://github.com/vit1-irk/idec-mobile/projects/1
vit01 to Andrew Lobanov (2016-09-29 07:38:14) [ссылка]

Re: Android клиент

Ответ на сообщение
На сегодня:

1. Через меню главного экрана можно пометить прочитанной всю базу
2. Окно дебага при выходе показывает, сколько сообщений скачано/отправлено

Ну и исправленный баг, но я про него только что писал
vit01 to vit01 (2016-09-29 08:57:26) [ссылка]

Re: Android клиент

Ответ на сообщение
Новое на сегодня:

1. Парсер ссылок теперь распознаёт email-адреса для быстрого открытия системного мылоклиента
2. В слайдере появились пункты меню "В начало" и "В конец"
3. Поддержка /x/file в меню "Дополнительно". Рекомендую протестировать!

Про недочёты в дизайне для фрагмента /x/file я знаю и планирую скоро исправить. Не до свистелок особо было.

APK, как всегда, на том же самом месте: http://ii-net.tk/ii/files/app-debug.apk
vit01 to vit01 (2016-09-30 15:07:13) [ссылка]

Re: Android клиент

Ответ на сообщение
Сегодня улучшения только для экрана "Дополнительно"

1. Добавлены недостающие элементы UI для чёрного списка и действий с БД. Большинство штук пока что не работают.
2. Действия чистки базы данных и кэша перенесены туда с главного меню
3. Можно удалять содержимое одиночных эхоконференций
4. У вкладки /x/file исправлены косяки с дизайном

APK качайте и тестируйте
vit01 to vit01 (2016-10-01 03:13:43) [ссылка]

Re: Android клиент

Ответ на сообщение
Заработали 2 кнопки из меню настроек станций, а именно:

1. Автоконфигурация по /x/features, которая сама расставит галочки
2. Получение списка эхоконференций с ноды (с предпросмотром!)

Из нашего IDEC API и из расширений осталось реализовать только поддержку чёрного списка. Остальное уже - дело GUI и юзабилити. Что ж, продолжу допиливать потихоньку.
vit01 to vit01 (2016-10-02 08:07:14) [ссылка]

Re: Android клиент

Ответ на сообщение
Новая сборка:

1. btimofeev пофиксил ужасно непонятный баг с удалением черновиков свайпом. Теперь всё хорошо, спасибо! см. ii://develop.16

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

APK: http://ii-net.tk/ii/files/app-debug.apk
vit01 to vit01 (2016-10-08 05:58:16) [ссылка]

Re: Android клиент

Ответ на сообщение
Клиент от версии к версии всё краше. А клонирование эх будет?
Andrew Lobanov to vit01 (2016-10-08 09:48:45) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> А клонирование эх будет?
Механизм фетча здесь полностью аналогичен CutieFeed'овскому.

Для клонирования:

1. Создаёшь новую станцию с таким же адресом
2. Отключаешь в ней расширения IDEC
3. Правишь подписки
4. Скачиваешь сообщения
5. По желанию "выключаешь станцию" в её настройках, чтобы перестать её фетчить (или даже удаляешь)

Так можно, например, создавать сразу несколько разных архивов и пополнять их независимо друг от друга.
vit01 to Andrew Lobanov (2016-10-08 10:21:47) [ссылка]

Re: Android клиент

Ответ на сообщение
AL>> А клонирование эх будет?
vit01> Механизм фетча здесь полностью аналогичен CutieFeed'овскому.
vit01> Для клонирования:
vit01> 1. Создаёшь новую станцию с таким же адресом
vit01> 2. Отключаешь в ней расширения IDEC
vit01> 3. Правишь подписки
vit01> 4. Скачиваешь сообщения
vit01> 5. По желанию "выключаешь станцию" в её настройках, чтобы перестать её фетчить (или даже удаляешь)
Сложновато.
vit01> Так можно, например, создавать сразу несколько разных архивов и пополнять их независимо друг от друга.
Ну держать архивы на андроиде это узкий юзкейс. Даже уже клонирования.

Механизм клонирования я создавал с целью целиком выкачать анекдоты или крипоту.

Тут ты хозяин-барин и фичи клиента я впиливать не буду по причине незнания явы. Так что и настаивать не стану :)
Andrew Lobanov to vit01 (2016-10-08 10:42:15) [ссылка]

Re: Android клиент

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

Вообще, архивы - это хорошее дело. Поэтому в скором времени планирую импорт/экспорт бандлов, чтобы можно было составить однофайловый дамп на компьютере (через ii-db-utils или idec-utils), импортировать в клиент и не тратить на скачивание время и мобильный трафик.

Всё ведь мечтаю об универсальном африканском клиенте в кармане :)
vit01 to Andrew Lobanov (2016-10-08 11:22:03) [ссылка]

Re: Android клиент

Ответ на сообщение
В новом "горячем пирожке" заработала функция "Обрезать эху" из меню Дополнительно.
Теперь можно периодически чистить содержимое всяких RSS-лент от старых новостей, чтобы они зря не занимали место.
vit01 to vit01 (2016-10-08 11:57:01) [ссылка]

Re: Android клиент

Ответ на сообщение
Сегодня очень важный апдейт: клиент получил поддержку уведомлений.

// Решил пойти по пути наименьшего сопротивления и реализовать фичу только для станций с /x/c

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

Поведение умное: если пользователь только что зафетчил сообщения, то клиент уже не будет его оповещать о том, что появилось на станции 10-15 минут назад.

Вибрация и интервал запросов, как всегда, указываются в настройках клиента. По умолчанию новая фича отключена.

Внимание: перед обновлением надо очистить кэш /x/c, потому что я поменял место его хранения. Если же не очистите, то в /data/data/vit01.idecmobile/ останется несколько мусорных файлов на пару килобайт. На работе клиента это никак не отразится, однако чувства перфекционистов будут задеты.

APK: http://ii-net.tk/ii/files/app-debug.apk
vit01 to vit01 (2016-10-10 14:20:21) [ссылка]

Re: Android клиент

Ответ на сообщение
Включил уведомления, потом выключил, но они продолжают приходить.
Andrew Lobanov to vit01 (2016-10-11 04:24:30) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> Включил уведомления, потом выключил, но они продолжают приходить.
Хорошо, попробую разобраться. Видимо, у AlarmManager метод остановки не работает.

В качестве временного избавления от уведомлений выключи станцию с фетча.
vit01 to Andrew Lobanov (2016-10-11 05:09:26) [ссылка]

Re: Android клиент

Ответ на сообщение
AL>> Включил уведомления, потом выключил, но они продолжают приходить.
vit01> В качестве временного избавления от уведомлений выключи станцию с фетча.
Помогла перезагрузка устройства.
Andrew Lobanov to vit01 (2016-10-11 05:44:51) [ссылка]

Re: Android клиент

Ответ на сообщение
Обновление на сегодня:

* Попытался пофиксить баг с уведомлениями, про который Андрей писал. Пока что не знаю, починилось или нет.
* Добавил поддержку http-прокси (доступна также авторизация на проксе)
* Сделал интеграцию с приложением Orbot для повышения удобства работы с Tor

Ради эксперимента поднял на время hidden service и успешно зафетчил на телефон одну эху через Tor.
В общем, клиент теперь устойчив к блокировкам. Даёшь хентай, понево и пропаганду systemd среди совершеннолетних!

APK: http://ii-net.tk/ii/files/app-debug.apk

Торонода Дениса, кстати, до сих пор в дауне.

P.S. Socks-прокси мне завести не удалось (за весь день так и не разобрался), но через обычные http работает как Tor, так и i2p. Кому надо именно Socks, могут воспользоваться Polipo и прочими "преобразователями".

// Далее по плану - тёмная тема оформления. Отдохну пока от внутренностей и займусь свистелками.
vit01 to vit01 (2016-10-15 16:22:20) [ссылка]

Re: Android клиент

Ответ на сообщение
vit01> Обновление на сегодня:
Ура-ура! Побежал обновляться.

== Фичареквест

А вот можно ещё фетчинг свайпом сделать отключаемым? А то у меня эхи на экран не входят и при полкрутке наверх я постоянно вываливаюсь в фетчинг. Жить можно, но не очень удобно.
Andrew Lobanov to vit01 (2016-10-15 17:31:19) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> == Фичареквест
AL> А вот можно ещё фетчинг свайпом сделать отключаемым?
Сделано (см. настройки). Обновляйся ещё раз.

Правда, по умолчанию фича и у остальных отключится (потому что при обновлении конфига boolean всегда ставится в false), так что ставьте галочку заново, если пользовались ей.
vit01 to Andrew Lobanov (2016-10-16 04:06:12) [ссылка]

Re: Android клиент

Ответ на сообщение
Кстати, а почему список эх дёргается при прокрутке? Это только у меня так?
Andrew Lobanov to vit01 (2016-10-17 11:47:14) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> Кстати, а почему список эх дёргается при прокрутке? Это только у меня так?
Что значит дёргается? Вроде бы нормально себя список ведёт.

Хотя может быть это просто заморочки RecyclerView, который пересоздаёт вьюхи для экономии памяти. Ведь каждая эха в списке - это объект, который запрашивает из базы количество сообщений. А запросы к базе тоже времени требуют.
vit01 to Andrew Lobanov (2016-10-17 11:58:21) [ссылка]

Re: Android клиент

Ответ на сообщение
AL>> Кстати, а почему список эх дёргается при прокрутке? Это только у меня так?
vit01> Что значит дёргается? Вроде бы нормально себя список ведёт.
При прокрутке происходят тормоза и список прокручивается чувствительными рывками.
vit01> Хотя может быть это просто заморочки RecyclerView, который пересоздаёт вьюхи для экономии памяти. Ведь каждая эха в списке - это объект, который запрашивает из базы количество сообщений. А запросы к базе тоже времени требуют.
Печально. А один раз считать непосредственно весь список не выйдет получается?
Andrew Lobanov to vit01 (2016-10-17 12:05:18) [ссылка]

Re: Android клиент

Ответ на сообщение
AL> А один раз считать непосредственно весь список не выйдет получается?
Вообще, я так изначально и хотел реализовать, но тут всё упёрлось в sqlite. Одним запросом count(*) для разных условий не сделаешь. Поэтому решил запихнуть одиночные запросы данных в каждый элемент.

Как реальный вариант можно сделать что-то вроде кэша в ОЗУ. Цифры будут загружаться всего один раз, а при прокрутке списка его элементы станут обращаться не напрямую к базе, а к этому самому кэшу.
vit01 to Andrew Lobanov (2016-10-17 14:53:11) [ссылка]

Re: Android клиент

Ответ на сообщение
AL>> А один раз считать непосредственно весь список не выйдет получается?
vit01> Вообще, я так изначально и хотел реализовать, но тут всё упёрлось в sqlite. Одним запросом count(*) для разных условий не сделаешь. Поэтому решил запихнуть одиночные запросы данных в каждый элемент.
Я эту проблему пытаюсь периодически у себя решить. counts(*) медленный. Даже counts(1) медленный. А вот aio уже вполне сносен. Подсчёт ведётся только при запуске и после фетча. Всё остальное время количество сообщений берётся из списка.

Но с sqlite получается слишком медленно у меня. На нетбуке занимает пересчёт всех существующих эх со всеми сообщениями занимает порядка 3-5 секунд.
Andrew Lobanov to vit01 (2016-10-17 16:03:11) [ссылка]