fix: home list sorting

This commit is contained in:
rebelonion 2024-03-05 00:53:56 -06:00
parent 7ad586c994
commit ab14c4815f
3 changed files with 15 additions and 16 deletions

View file

@ -352,10 +352,10 @@ class AnilistQueries {
returnArray.addAll(map.values)
return returnArray
}
val set = PrefManager.getVal<Set<String>>(PrefName.ContinuedAnimeSet).toMutableSet()
if (set.isNotEmpty()) {
set.forEach {
if (map.containsKey(it.toInt())) returnArray.add(map[it.toInt()]!!)
val list = PrefManager.getNullableCustomVal("continueAnimeList", listOf<Int>(), List::class.java) as List<Int>
if (list.isNotEmpty()) {
list.reversed().forEach {
if (map.containsKey(it)) returnArray.add(map[it]!!)
}
for (i in map) {
if (i.value !in returnArray) returnArray.add(i.value)
@ -504,10 +504,10 @@ class AnilistQueries {
returnMap["current$type"] = returnArray
return
}
val set = PrefManager.getVal<Set<String>>(PrefName.ContinuedAnimeSet).toMutableSet()
if (set.isNotEmpty()) {
set.forEach {
if (subMap.containsKey(it.toInt())) returnArray.add(subMap[it.toInt()]!!)
val list = PrefManager.getNullableCustomVal("continueAnimeList", listOf<Int>(), List::class.java) as List<Int>
if (list.isNotEmpty()) {
list.reversed().forEach {
if (subMap.containsKey(it)) returnArray.add(subMap[it]!!)
}
for (i in subMap) {
if (i.value !in returnArray) returnArray.add(i.value)
@ -529,9 +529,9 @@ class AnilistQueries {
subMap[m.id] = m
}
}
val set = PrefManager.getCustomVal<Set<Int>>("continue_$type", setOf()).toMutableSet()
if (set.isNotEmpty()) {
set.reversed().forEach {
val list = PrefManager.getNullableCustomVal("continueAnimeList", listOf<Int>(), List::class.java) as List<Int>
if (list.isNotEmpty()) {
list.reversed().forEach {
if (subMap.containsKey(it)) returnArray.add(subMap[it]!!)
}
for (i in subMap) {

View file

@ -1245,10 +1245,10 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
media.anime!!.selectedEpisode!!
)
val list = PrefManager.getVal<Set<String>>(PrefName.ContinuedAnimeSet).toMutableList()
if (list.contains(media.id.toString())) list.remove(media.id.toString())
list.add(media.id.toString())
PrefManager.setVal(PrefName.ContinuedAnimeSet, list.toSet())
val list = (PrefManager.getNullableCustomVal("continueAnimeList", listOf<Int>(), List::class.java) as List<Int>).toMutableList()
if (list.contains(media.id)) list.remove(media.id)
list.add(media.id)
PrefManager.setCustomVal("continueAnimeList", list)
lifecycleScope.launch(Dispatchers.IO) {
extractor?.onVideoStopped(video)

View file

@ -100,7 +100,6 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files
UseInternalCast(Pref(Location.Player, Boolean::class, false)),
Pip(Pref(Location.Player, Boolean::class, true)),
RotationPlayer(Pref(Location.Player, Boolean::class, true)),
ContinuedAnimeSet(Pref(Location.Player, Set::class, setOf<String>())),
//Reader
ShowSource(Pref(Location.Reader, Boolean::class, true)),