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

Случайный список рекомендаций в окне плеера с PagedListAdapter #171

Open sadr0b0t opened 1 year ago

sadr0b0t commented 1 year ago

Сейчас там ArrayAdapter с лимитом 100 элементов по такой причине, что если использовать PagedListAdapter, список будет обновляться каждый раз, когда происходит какое-то событие с базой. В окне плеера эти события происходят регулярно - например, если изменить метку "звездочка" или при переключении между роликами (запись истории и некоторых других полей в базу). Такие моргающие рекомендации не годятся, поэтому PagedListAdapter не подходит, хотя с ним можно выставить в рекомендации по ролик вобще всю базу. А с ArrayAdapter требуется выставить лимит (100 элементов можно увеличить, но все равно будет предел и память жалко будет уже).

Нормальный вариант - получить псевдо-случайную сортировку, если задать ей какое-то фиксированное начальное зачение. Это обычная практика для генераторов псевдо-случайных чисел, но вопрос, есть ли такая возможность в SQL/SQLite

кой-какое обсуждение вообще: https://stackoverflow.com/questions/458175/pseudo-random-repeatable-sort-in-sql-server-not-newid-and-not-rand

В SQLite попробовать сделать ORDER BY RAND(2), но функция RAND параметр не понимает