Selaa lähdekoodia

Restore original preference background after highlight animation (fixes #5094)

arkon 3 vuotta sitten
vanhempi
commit
ab021c1302

+ 6 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsController.kt

@@ -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? {