mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +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