Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 190eb078 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

[Media TTT] Draw ripple before translation

In some devices, we notice a change in the translation amount of icon
ripple compared to the receiver icon. To make sure the ripple icon is
drawn behind the receiver icon before any translation occurs.

Bug: 273500887
Test: Checked the ui on tablet device. Check the video in bug link.
Change-Id: I86f741ef6209867967e1d463f4f2d39b3bf28661
parent 6e1228cd
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -225,8 +225,10 @@ open class MediaTttChipControllerReceiver @Inject constructor(
        val iconRippleView: ReceiverChipRippleView = view.requireViewById(R.id.icon_glow_ripple)
        val rippleView: ReceiverChipRippleView = view.requireViewById(R.id.ripple)
        val translationYBy = getTranslationAmount()
        // Expand ripple before translating icon container to make sure both views have same bounds.
        rippleController.expandToInProgressState(rippleView, iconRippleView)
        // Make the icon container view starts animation from bottom of the screen.
        iconContainerView.translationY += rippleController.getReceiverIconSize()
        iconContainerView.translationY = rippleController.getReceiverIconSize().toFloat()
        animateViewTranslationAndFade(
            iconContainerView,
            translationYBy = -1 * translationYBy,
@@ -235,7 +237,6 @@ open class MediaTttChipControllerReceiver @Inject constructor(
        ) {
            animateBouncingView(iconContainerView, translationYBy * BOUNCE_TRANSLATION_RATIO)
        }
        rippleController.expandToInProgressState(rippleView, iconRippleView)
    }

    override fun animateViewOut(view: ViewGroup, removalReason: String?, onAnimationEnd: Runnable) {
@@ -293,7 +294,7 @@ open class MediaTttChipControllerReceiver @Inject constructor(

    /** Returns the amount that the chip will be translated by in its intro animation. */
    private fun getTranslationAmount(): Float {
        return rippleController.getRippleSize() * 0.5f
        return rippleController.getReceiverIconSize() * 2f
    }

    private fun View.getAppIconView(): CachingIconView {