mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	Use Application instead of Context in FeedViewModel.
This commit is contained in:
		| @@ -1,5 +1,6 @@ | ||||
| package org.schabi.newpipe.local.feed | ||||
|  | ||||
| import android.app.Application | ||||
| import android.content.Context | ||||
| import androidx.core.content.edit | ||||
| import androidx.lifecycle.LiveData | ||||
| @@ -13,6 +14,7 @@ import io.reactivex.rxjava3.core.Flowable | ||||
| import io.reactivex.rxjava3.functions.Function5 | ||||
| import io.reactivex.rxjava3.processors.BehaviorProcessor | ||||
| import io.reactivex.rxjava3.schedulers.Schedulers | ||||
| import org.schabi.newpipe.App | ||||
| import org.schabi.newpipe.R | ||||
| import org.schabi.newpipe.database.feed.model.FeedGroupEntity | ||||
| import org.schabi.newpipe.database.stream.StreamWithState | ||||
| @@ -27,12 +29,12 @@ import java.time.OffsetDateTime | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class FeedViewModel( | ||||
|     private val applicationContext: Context, | ||||
|     private val application: Application, | ||||
|     groupId: Long = FeedGroupEntity.GROUP_ALL_ID, | ||||
|     initialShowPlayedItems: Boolean = true, | ||||
|     initialShowFutureItems: Boolean = true | ||||
| ) : ViewModel() { | ||||
|     private var feedDatabaseManager: FeedDatabaseManager = FeedDatabaseManager(applicationContext) | ||||
|     private val feedDatabaseManager = FeedDatabaseManager(application) | ||||
|  | ||||
|     private val toggleShowPlayedItems = BehaviorProcessor.create<Boolean>() | ||||
|     private val toggleShowPlayedItemsFlowable = toggleShowPlayedItems | ||||
| @@ -114,24 +116,24 @@ class FeedViewModel( | ||||
|     } | ||||
|  | ||||
|     fun saveShowPlayedItemsToPreferences(showPlayedItems: Boolean) = | ||||
|         PreferenceManager.getDefaultSharedPreferences(applicationContext).edit { | ||||
|             this.putBoolean(applicationContext.getString(R.string.feed_show_played_items_key), showPlayedItems) | ||||
|         PreferenceManager.getDefaultSharedPreferences(application).edit { | ||||
|             this.putBoolean(application.getString(R.string.feed_show_played_items_key), showPlayedItems) | ||||
|             this.apply() | ||||
|         } | ||||
|  | ||||
|     fun getShowPlayedItemsFromPreferences() = getShowPlayedItemsFromPreferences(applicationContext) | ||||
|     fun getShowPlayedItemsFromPreferences() = getShowPlayedItemsFromPreferences(application) | ||||
|  | ||||
|     fun toggleFutureItems(showFutureItems: Boolean) { | ||||
|         toggleShowFutureItems.onNext(showFutureItems) | ||||
|     } | ||||
|  | ||||
|     fun saveShowFutureItemsToPreferences(showFutureItems: Boolean) = | ||||
|         PreferenceManager.getDefaultSharedPreferences(applicationContext).edit { | ||||
|             this.putBoolean(applicationContext.getString(R.string.feed_show_future_items_key), showFutureItems) | ||||
|         PreferenceManager.getDefaultSharedPreferences(application).edit { | ||||
|             this.putBoolean(application.getString(R.string.feed_show_future_items_key), showFutureItems) | ||||
|             this.apply() | ||||
|         } | ||||
|  | ||||
|     fun getShowFutureItemsFromPreferences() = getShowFutureItemsFromPreferences(applicationContext) | ||||
|     fun getShowFutureItemsFromPreferences() = getShowFutureItemsFromPreferences(application) | ||||
|  | ||||
|     companion object { | ||||
|         private fun getShowPlayedItemsFromPreferences(context: Context) = | ||||
| @@ -143,7 +145,7 @@ class FeedViewModel( | ||||
|         fun getFactory(context: Context, groupId: Long) = viewModelFactory { | ||||
|             initializer { | ||||
|                 FeedViewModel( | ||||
|                     context.applicationContext, | ||||
|                     App.getApp(), | ||||
|                     groupId, | ||||
|                     // Read initial value from preferences | ||||
|                     getShowPlayedItemsFromPreferences(context.applicationContext), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Isira Seneviratne
					Isira Seneviratne