Remember sort order and filter in feed

This commit is contained in:
Bnyro 2023-01-01 14:04:17 +01:00
parent 7adb510371
commit 3898f5e9a1
3 changed files with 19 additions and 8 deletions

View File

@ -111,6 +111,8 @@ object PreferenceKeys {
const val LAST_STREAM_VIDEO_ID = "last_stream_video_id"
const val LAST_WATCHED_FEED_TIME = "last_watched_feed_time"
const val HIDE_WATCHED_FROM_FEED = "hide_watched_from_feed"
const val SELECTED_FEED_FILTER = "selected_feed_filer"
const val FEED_SORT_ORDER = "feed_sort_oder"
/**
* Advanced

View File

@ -26,7 +26,6 @@ import com.github.libretube.util.PreferenceHelper
class LibraryFragment : BaseFragment() {
lateinit var token: String
private lateinit var binding: FragmentLibraryBinding
private val playerViewModel: PlayerViewModel by activityViewModels()
@ -48,7 +47,6 @@ class LibraryFragment : BaseFragment() {
}
binding.playlistRecView.layoutManager = LinearLayoutManager(requireContext())
token = PreferenceHelper.getToken()
// hide watch history button of history disabled
val watchHistoryEnabled =

View File

@ -26,8 +26,16 @@ class SubscriptionsFragment : BaseFragment() {
private val viewModel: SubscriptionsViewModel by activityViewModels()
private var subscriptionAdapter: VideosAdapter? = null
private var selectedSortOrder = 0
private var selectedFilter = 0
private var selectedSortOrder = PreferenceHelper.getInt(PreferenceKeys.FEED_SORT_ORDER, 0)
set(value) {
PreferenceHelper.putInt(PreferenceKeys.FEED_SORT_ORDER, value)
field = value
}
private var selectedFilter = PreferenceHelper.getInt(PreferenceKeys.SELECTED_FEED_FILTER, 0)
set(value) {
PreferenceHelper.putInt(PreferenceKeys.SELECTED_FEED_FILTER, value)
field = value
}
override fun onCreateView(
inflater: LayoutInflater,
@ -46,6 +54,10 @@ class SubscriptionsFragment : BaseFragment() {
false
)
// update the text according to the current order and filter
binding.sortTV.text = resources.getStringArray(R.array.sortOptions)[selectedSortOrder]
binding.filterTV.text = resources.getStringArray(R.array.filterOptions)[selectedFilter]
binding.subRefresh.isEnabled = true
binding.subProgress.visibility = View.VISIBLE
@ -59,11 +71,10 @@ class SubscriptionsFragment : BaseFragment() {
// listen for error responses
viewModel.errorResponse.observe(viewLifecycleOwner) {
if (it) {
if (!it) return@observe
Toast.makeText(context, R.string.server_error, Toast.LENGTH_SHORT).show()
viewModel.errorResponse.value = false
}
}
viewModel.videoFeed.observe(viewLifecycleOwner) {
if (!isShowingFeed()) return@observe