Loading packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/Notifications.kt +1 −1 Original line number Diff line number Diff line Loading @@ -61,11 +61,11 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.ElementKey import com.android.compose.animation.scene.NestedScrollBehavior import com.android.compose.animation.scene.SceneScope import com.android.compose.modifiers.height import com.android.compose.ui.util.lerp import com.android.systemui.common.ui.compose.windowinsets.LocalScreenCornerRadius import com.android.systemui.notifications.ui.composable.Notifications.Form import com.android.systemui.notifications.ui.composable.Notifications.TransitionThresholds.EXPANSION_FOR_MAX_CORNER_RADIUS Loading packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateSharedAsState.kt +3 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.lerp import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.lerp import com.android.compose.ui.util.lerp import androidx.compose.ui.util.fastCoerceIn import androidx.compose.ui.util.lerp /** * A [State] whose [value] is animated. Loading Loading @@ -282,7 +283,7 @@ private fun <T> valueOrNull( } else { val progress = if (canOverflow) transition.progress else transition.progress.coerceIn(0f, 1f) else transition.progress.fastCoerceIn(0f, 1f) lerp(fromValue, toValue, progress) } } else fromValue ?: toValue Loading packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt +3 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.round import androidx.compose.ui.util.fastCoerceIn import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.transformation.PropertyTransformation import com.android.compose.animation.scene.transformation.SharedElementTransformation import com.android.compose.ui.util.lerp Loading Loading @@ -362,7 +364,7 @@ private fun elementAlpha( isSpecified = { true }, ::lerp, ) .coerceIn(0f, 1f) .fastCoerceIn(0f, 1f) } @OptIn(ExperimentalComposeUiApi::class) Loading packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/transformation/Transformation.kt +6 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.compose.animation.scene.transformation import androidx.compose.ui.util.fastCoerceAtLeast import androidx.compose.ui.util.fastCoerceAtMost import androidx.compose.ui.util.fastCoerceIn import com.android.compose.animation.scene.Element import com.android.compose.animation.scene.ElementMatcher import com.android.compose.animation.scene.Scene Loading Loading @@ -106,10 +109,10 @@ data class TransformationRange( fun progress(transitionProgress: Float): Float { return when { start.isSpecified() && end.isSpecified() -> ((transitionProgress - start) / (end - start)).coerceIn(0f, 1f) ((transitionProgress - start) / (end - start)).fastCoerceIn(0f, 1f) !start.isSpecified() && !end.isSpecified() -> transitionProgress end.isSpecified() -> (transitionProgress / end).coerceAtMost(1f) else -> ((transitionProgress - start) / (1f - start)).coerceAtLeast(0f) end.isSpecified() -> (transitionProgress / end).fastCoerceAtMost(1f) else -> ((transitionProgress - start) / (1f - start)).fastCoerceAtLeast(0f) } } Loading packages/SystemUI/compose/scene/src/com/android/compose/ui/util/MathHelpers.kt +1 −17 Original line number Diff line number Diff line Loading @@ -20,24 +20,8 @@ package com.android.compose.ui.util import androidx.compose.ui.geometry.isSpecified import androidx.compose.ui.geometry.lerp import androidx.compose.ui.unit.IntSize import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.Scale import kotlin.math.roundToInt import kotlin.math.roundToLong /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Float, stop: Float, fraction: Float): Float { return (1 - fraction) * start + fraction * stop } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Int, stop: Int, fraction: Float): Int { return start + ((stop - start) * fraction.toDouble()).roundToInt() } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Long, stop: Long, fraction: Float): Long { return start + ((stop - start) * fraction.toDouble()).roundToLong() } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: IntSize, stop: IntSize, fraction: Float): IntSize { Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/Notifications.kt +1 −1 Original line number Diff line number Diff line Loading @@ -61,11 +61,11 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.ElementKey import com.android.compose.animation.scene.NestedScrollBehavior import com.android.compose.animation.scene.SceneScope import com.android.compose.modifiers.height import com.android.compose.ui.util.lerp import com.android.systemui.common.ui.compose.windowinsets.LocalScreenCornerRadius import com.android.systemui.notifications.ui.composable.Notifications.Form import com.android.systemui.notifications.ui.composable.Notifications.TransitionThresholds.EXPANSION_FOR_MAX_CORNER_RADIUS Loading
packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateSharedAsState.kt +3 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.lerp import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.lerp import com.android.compose.ui.util.lerp import androidx.compose.ui.util.fastCoerceIn import androidx.compose.ui.util.lerp /** * A [State] whose [value] is animated. Loading Loading @@ -282,7 +283,7 @@ private fun <T> valueOrNull( } else { val progress = if (canOverflow) transition.progress else transition.progress.coerceIn(0f, 1f) else transition.progress.fastCoerceIn(0f, 1f) lerp(fromValue, toValue, progress) } } else fromValue ?: toValue Loading
packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt +3 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.round import androidx.compose.ui.util.fastCoerceIn import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.transformation.PropertyTransformation import com.android.compose.animation.scene.transformation.SharedElementTransformation import com.android.compose.ui.util.lerp Loading Loading @@ -362,7 +364,7 @@ private fun elementAlpha( isSpecified = { true }, ::lerp, ) .coerceIn(0f, 1f) .fastCoerceIn(0f, 1f) } @OptIn(ExperimentalComposeUiApi::class) Loading
packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/transformation/Transformation.kt +6 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.compose.animation.scene.transformation import androidx.compose.ui.util.fastCoerceAtLeast import androidx.compose.ui.util.fastCoerceAtMost import androidx.compose.ui.util.fastCoerceIn import com.android.compose.animation.scene.Element import com.android.compose.animation.scene.ElementMatcher import com.android.compose.animation.scene.Scene Loading Loading @@ -106,10 +109,10 @@ data class TransformationRange( fun progress(transitionProgress: Float): Float { return when { start.isSpecified() && end.isSpecified() -> ((transitionProgress - start) / (end - start)).coerceIn(0f, 1f) ((transitionProgress - start) / (end - start)).fastCoerceIn(0f, 1f) !start.isSpecified() && !end.isSpecified() -> transitionProgress end.isSpecified() -> (transitionProgress / end).coerceAtMost(1f) else -> ((transitionProgress - start) / (1f - start)).coerceAtLeast(0f) end.isSpecified() -> (transitionProgress / end).fastCoerceAtMost(1f) else -> ((transitionProgress - start) / (1f - start)).fastCoerceAtLeast(0f) } } Loading
packages/SystemUI/compose/scene/src/com/android/compose/ui/util/MathHelpers.kt +1 −17 Original line number Diff line number Diff line Loading @@ -20,24 +20,8 @@ package com.android.compose.ui.util import androidx.compose.ui.geometry.isSpecified import androidx.compose.ui.geometry.lerp import androidx.compose.ui.unit.IntSize import androidx.compose.ui.util.lerp import com.android.compose.animation.scene.Scale import kotlin.math.roundToInt import kotlin.math.roundToLong /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Float, stop: Float, fraction: Float): Float { return (1 - fraction) * start + fraction * stop } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Int, stop: Int, fraction: Float): Int { return start + ((stop - start) * fraction.toDouble()).roundToInt() } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: Long, stop: Long, fraction: Float): Long { return start + ((stop - start) * fraction.toDouble()).roundToLong() } /** Linearly interpolate between [start] and [stop] with [fraction] fraction between them. */ fun lerp(start: IntSize, stop: IntSize, fraction: Float): IntSize { Loading