11package org.schabi.newpipe.local.feed
22
33import android.content.Context
4+ import androidx.core.content.edit
45import androidx.lifecycle.LiveData
56import androidx.lifecycle.MutableLiveData
67import androidx.lifecycle.ViewModel
78import androidx.lifecycle.ViewModelProvider
9+ import androidx.preference.PreferenceManager
810import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
911import io.reactivex.rxjava3.core.Flowable
1012import io.reactivex.rxjava3.functions.Function4
@@ -28,6 +30,10 @@ class FeedViewModel(
2830 initialShowPlayedItems : Boolean = true
2931) : ViewModel() {
3032 private var feedDatabaseManager: FeedDatabaseManager = FeedDatabaseManager (applicationContext)
33+ private var sharedPreferences = PreferenceManager .getDefaultSharedPreferences(applicationContext)
34+ companion object {
35+ const val SHOW_PLAYED_ITEMS_PREFERENCE = " show_played_items_preference_tag"
36+ }
3137
3238 private val toggleShowPlayedItems = BehaviorProcessor .create<Boolean >()
3339 private val streamItems = toggleShowPlayedItems
@@ -81,6 +87,13 @@ class FeedViewModel(
8187 toggleShowPlayedItems.onNext(showPlayedItems)
8288 }
8389
90+ fun savePlayedItemsToggle (showPlayedItems : Boolean ) = sharedPreferences.edit {
91+ this .putBoolean(SHOW_PLAYED_ITEMS_PREFERENCE , showPlayedItems)
92+ this .apply ()
93+ }
94+
95+ fun getSavedPlayedItemsToggle () = sharedPreferences.getBoolean(SHOW_PLAYED_ITEMS_PREFERENCE , true )
96+
8497 class Factory (
8598 private val context : Context ,
8699 private val groupId : Long = FeedGroupEntity .GROUP_ALL_ID ,
0 commit comments