Closed sadr0b0t closed 1 year ago
Для плейлистов иконки, пожалуй, нужно просто вообще для всех кэшировать
Кэширование иконок пусть будет отдельно: https://github.com/sadr0b0t/yashlang/issues/148
Включение режима - можно завести вкладку в главных настройках. Например, после профилей. Для одной галки может многовато целой вкладки, но там же можно будет разместить галку включения режима аудио-плеера, поэтому в перспективе - ок.
Есть режим оффлайн https://github.com/sadr0b0t/yashlang/commit/386e34abf0b42912c3091b5fb5b470712379e5cb
Включается/выключается через настройки > меню > Больше настроек > первая вкладка "Разное" -- Выносить быстрое включение/выключение на главную пока не стал и, пожалуй, и незачем это.
Для каждого ролика в экране проигрывания берутся потоки только оффлайн (это убирает продолжительную паузу при загрузке ролика при плохом интернете, даже если у него был скачаный поток)
Режим отображается: на главном экране иконкой "дискетка" в правом нижнем углу; на экранах "любимо", "история", "плейлисты", "поиск" - иконка "дискетка" в заголовке
Доработать:
при экспорте "только включенных" плейлистов в режиме оффлайн будут экспортированы только ролики с потоками оффлайн. Это, пожалуй, регрессия, т.к. наличие/отсутствие потока оффлайн к экспорту ссылок на ролики отношения не имеет. Стоит добавить отдельный вызов для включенных плейлистов без фильтра по наличию потоков оффлайн для экспорта.
это исправил: https://github.com/sadr0b0t/yashlang/commit/d7a84f83d1e00b24d228facc0ddac7614798e56d
в списке плейлистов (не в настройках, а в режиме навигации) следует скрывать плейлисты, у которых при включенном режиме оффлайн внутри ничего нет. Т.к. обычно оффлайн скачано не слишком много роликов, а плейлистов может быть включено много, придется еще хорошо поискать, в каком из этих плейлистов что-то есть. При достаточно большом количестве плейлистов экран навигации по плейлистам в режиме оффланй становится почти бесполезен.
Получается не вполне тривиальный запрос, уношу в отдельный тикет: https://github.com/sadr0b0t/yashlang/issues/156
здесь всё
Еще несколько исправлений:
https://github.com/sadr0b0t/yashlang/commit/aa2aae7854320c90646edad76a3a8adbb1ded338 https://github.com/sadr0b0t/yashlang/commit/0a982778e01e513dbb5116d286a3b279735670a9
https://github.com/sadr0b0t/yashlang/commit/b639bfad44f2da27a0defbe88c4e4baea003bd34
лайфхак: как теперь загрузить иконки для всех оффлайн роликов
Продолжение https://github.com/sadr0b0t/yashlang/issues/8 в отдельном тикете
Вот это реализовано:
Модифицировать запросы с дополнительным фильтром по флагу будет не сложно. Сложно будет добавить этот включаемый фильтр для всего многообразия запросов, которые сейчас есть, без дублирования кода и ада с названиями функций в объекте DAO. По текущему опыту не очень понятно, получится ли в ROOM убирать кусок запроса в зависимости от внешней настройки (добавлять параметр ко всем запросам тоже пипец как не хочется). Предварительно: возможно, придется сделать базовый интерфейс на DAO VideoItem и две реализации - в одной будет фильтр по роликак с оффлайн-потоками, в другой нет (как сейчас).
Так, это уже было:
Еще одна история с иконками-превью роилков
Индикация