|  | @@ -5,6 +5,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.CoroutineScope
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.Dispatchers
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.Job
 | 
	
		
			
				|  |  | +import kotlinx.coroutines.flow.distinctUntilChanged
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.launchIn
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.onEach
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -22,6 +23,7 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
 | 
	
		
			
				|  |  |      var doubleTapAnimDuration = 500
 | 
	
		
			
				|  |  |      var volumeKeysEnabled = false
 | 
	
		
			
				|  |  |      var volumeKeysInverted = false
 | 
	
		
			
				|  |  | +    var trueColor = false
 | 
	
		
			
				|  |  |      var alwaysShowChapterTransition = true
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      init {
 | 
	
	
		
			
				|  | @@ -40,6 +42,9 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
 | 
	
		
			
				|  |  |          preferences.readWithVolumeKeysInverted()
 | 
	
		
			
				|  |  |              .register({ volumeKeysInverted = it })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        preferences.trueColor()
 | 
	
		
			
				|  |  | +            .register({ trueColor = it }, { imagePropertyChangedListener?.invoke() })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          preferences.alwaysShowChapterTransition()
 | 
	
		
			
				|  |  |              .register({ alwaysShowChapterTransition = it })
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -49,10 +54,9 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
 | 
	
		
			
				|  |  |          onChanged: (T) -> Unit = {}
 | 
	
		
			
				|  |  |      ) {
 | 
	
		
			
				|  |  |          asFlow()
 | 
	
		
			
				|  |  | -            .onEach {
 | 
	
		
			
				|  |  | -                valueAssignment(it)
 | 
	
		
			
				|  |  | -                onChanged(it)
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            .onEach { valueAssignment(it) }
 | 
	
		
			
				|  |  | +            .distinctUntilChanged()
 | 
	
		
			
				|  |  | +            .onEach { onChanged(it) }
 | 
	
		
			
				|  |  |              .launchIn(scope)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |