From 9ee0653ecfed5fa1c9652d4f0fb755cfe3bc3120 Mon Sep 17 00:00:00 2001 From: Blatzar <46196380+Blatzar@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:14:57 +0200 Subject: [PATCH] Fixed critical TV crash and made the bookmarks single select --- .../cloudstream3/ui/home/HomeFragment.kt | 16 +++++++++++++--- app/src/main/res/layout/fragment_home.xml | 1 + app/src/main/res/layout/fragment_result_tv.xml | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt index 7026eb12..813cf870 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt @@ -770,9 +770,19 @@ class HomeFragment : Fragment() { for ((chip, watch) in toggleList) { chip.isChecked = currentSet.contains(watch) - chip?.setOnCheckedChangeListener { _, _ -> - homeViewModel.loadStoredData(toggleList.filter { it.first?.isChecked == true } - .map { it.second }.toSet()) + chip?.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + homeViewModel.loadStoredData( + setOf(watch) + // If we filter all buttons then two can be checked at the same time + // Revert this if you want to go back to multi selection +// toggleList.filter { it.first?.isChecked == true }.map { it.second }.toSet() + ) + } + // Else if all are unchecked -> Do not load data + else if (toggleList.all { it.first?.isChecked != true }) { + homeViewModel.loadStoredData(emptySet()) + } } /*chip?.setOnClickListener { diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index d127f811..222852f7 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -514,6 +514,7 @@ diff --git a/app/src/main/res/layout/fragment_result_tv.xml b/app/src/main/res/layout/fragment_result_tv.xml index a428b80f..15e25b51 100644 --- a/app/src/main/res/layout/fragment_result_tv.xml +++ b/app/src/main/res/layout/fragment_result_tv.xml @@ -354,7 +354,7 @@ android:visibility="gone" /> -