mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Restore original preference background after highlight animation (fixes #5094)
This commit is contained in:
		@@ -11,6 +11,7 @@ import android.view.View
 | 
			
		||||
import android.view.ViewGroup
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity
 | 
			
		||||
import androidx.appcompat.view.ContextThemeWrapper
 | 
			
		||||
import androidx.core.animation.doOnEnd
 | 
			
		||||
import androidx.core.view.updatePadding
 | 
			
		||||
import androidx.preference.PreferenceController
 | 
			
		||||
import androidx.preference.PreferenceGroup
 | 
			
		||||
@@ -98,6 +99,7 @@ abstract class SettingsController : PreferenceController() {
 | 
			
		||||
    abstract fun setupPreferenceScreen(screen: PreferenceScreen): PreferenceScreen
 | 
			
		||||
 | 
			
		||||
    private fun animatePreferenceHighlight(view: View) {
 | 
			
		||||
        val origBackground = view.background
 | 
			
		||||
        ValueAnimator
 | 
			
		||||
            .ofObject(ArgbEvaluator(), Color.TRANSPARENT, view.context.getResourceColor(R.attr.rippleColor))
 | 
			
		||||
            .apply {
 | 
			
		||||
@@ -106,6 +108,10 @@ abstract class SettingsController : PreferenceController() {
 | 
			
		||||
                addUpdateListener { animator -> view.setBackgroundColor(animator.animatedValue as Int) }
 | 
			
		||||
                reverse()
 | 
			
		||||
            }
 | 
			
		||||
            .doOnEnd {
 | 
			
		||||
                // Restore original ripple
 | 
			
		||||
                view.background = origBackground
 | 
			
		||||
            }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    open fun getTitle(): String? {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user