diff options
| -rw-r--r-- | packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt | 19 | ||||
| -rw-r--r-- | packages/SystemUI/ktfmt_includes.txt | 1 |
2 files changed, 14 insertions, 6 deletions
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt index 24413c0076fa..26aa0e85cbd2 100644 --- a/packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt +++ b/packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt @@ -36,6 +36,7 @@ import android.widget.FrameLayout import com.android.internal.jank.InteractionJankMonitor import java.util.LinkedList import kotlin.math.min +import kotlin.math.roundToInt private const val TAG = "GhostedViewLaunchAnimatorController" @@ -50,7 +51,9 @@ private const val TAG = "GhostedViewLaunchAnimatorController" * Note: Avoid instantiating this directly and call [ActivityLaunchAnimator.Controller.fromView] * whenever possible instead. */ -open class GhostedViewLaunchAnimatorController @JvmOverloads constructor( +open class GhostedViewLaunchAnimatorController +@JvmOverloads +constructor( /** The view that will be ghosted and from which the background will be extracted. */ private val ghostedView: View, @@ -146,7 +149,8 @@ open class GhostedViewLaunchAnimatorController @JvmOverloads constructor( val gradient = findGradientDrawable(drawable) ?: return 0f // TODO(b/184121838): Support more than symmetric top & bottom radius. - return gradient.cornerRadii?.get(CORNER_RADIUS_TOP_INDEX) ?: gradient.cornerRadius + val radius = gradient.cornerRadii?.get(CORNER_RADIUS_TOP_INDEX) ?: gradient.cornerRadius + return radius * ghostedView.scaleX } /** Return the current bottom corner radius of the background. */ @@ -155,7 +159,8 @@ open class GhostedViewLaunchAnimatorController @JvmOverloads constructor( val gradient = findGradientDrawable(drawable) ?: return 0f // TODO(b/184121838): Support more than symmetric top & bottom radius. - return gradient.cornerRadii?.get(CORNER_RADIUS_BOTTOM_INDEX) ?: gradient.cornerRadius + val radius = gradient.cornerRadii?.get(CORNER_RADIUS_BOTTOM_INDEX) ?: gradient.cornerRadius + return radius * ghostedView.scaleX } override fun createAnimatorState(): LaunchAnimator.State { @@ -174,9 +179,13 @@ open class GhostedViewLaunchAnimatorController @JvmOverloads constructor( ghostedView.getLocationOnScreen(ghostedViewLocation) val insets = backgroundInsets state.top = ghostedViewLocation[1] + insets.top - state.bottom = ghostedViewLocation[1] + ghostedView.height - insets.bottom + state.bottom = + ghostedViewLocation[1] + (ghostedView.height * ghostedView.scaleY).roundToInt() - + insets.bottom state.left = ghostedViewLocation[0] + insets.left - state.right = ghostedViewLocation[0] + ghostedView.width - insets.right + state.right = + ghostedViewLocation[0] + (ghostedView.width * ghostedView.scaleX).roundToInt() - + insets.right } override fun onLaunchAnimationStart(isExpandingFullyAbove: Boolean) { diff --git a/packages/SystemUI/ktfmt_includes.txt b/packages/SystemUI/ktfmt_includes.txt index f53e3f6b2ea9..e918463e6ab4 100644 --- a/packages/SystemUI/ktfmt_includes.txt +++ b/packages/SystemUI/ktfmt_includes.txt @@ -1,6 +1,5 @@ +packages/SystemUI -packages/SystemUI/animation/src/com/android/systemui/animation/FontInterpolator.kt --packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt -packages/SystemUI/animation/src/com/android/systemui/animation/TextAnimator.kt -packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt -packages/SystemUI/animation/src/com/android/systemui/animation/ViewHierarchyAnimator.kt |