sadr0b0t / yashlang

PeerTube and YouTube player for Android with local playlists and whitelisted recommendations
GNU General Public License v3.0
52 stars 3 forks source link

Рефактор: перенести код операций с видео/плейлистом в отдельный класс #99

Closed sadr0b0t closed 2 years ago

sadr0b0t commented 3 years ago

Копировать имя, адрес и т.п. Сейчас куча копий этого кода по всем экранам.

sadr0b0t commented 2 years ago

https://github.com/sadr0b0t/yashlang/commit/85c9210396fa71e2c3c4adbbe1e9351322446a2d

Акшены для видео - VideoItemActions, акшены для плейлистов - PlaylistInfoActions

действия:

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

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

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

sadr0b0t commented 2 years ago

вот и первую регрессию поймал: https://github.com/sadr0b0t/yashlang/commit/3beda11f3f9a58b8c4e5b47d70c7dc3bca10c3f3

sadr0b0t commented 2 years ago

В этом тикете https://github.com/sadr0b0t/yashlang/issues/119 https://github.com/sadr0b0t/yashlang/commit/8d0e1c3fa548efd35244404280160d5a6d6a05d8 еще немного этот код долопатил