From 6665f20af94745a36ea8dbba6665cacaeb71a593 Mon Sep 17 00:00:00 2001
From: Brian Yencho <brian@livefront.com>
Date: Thu, 28 Dec 2023 18:06:12 -0600
Subject: [PATCH] Ensure toScrolledContainerColor uses the correct easing
 function (#450)

---
 .../platform/base/util/TopAppBarScrollBehaviorExtensions.kt  | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/base/util/TopAppBarScrollBehaviorExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/base/util/TopAppBarScrollBehaviorExtensions.kt
index 5b3d53c1f..d500cee5c 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/base/util/TopAppBarScrollBehaviorExtensions.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/base/util/TopAppBarScrollBehaviorExtensions.kt
@@ -1,5 +1,6 @@
 package com.x8bit.bitwarden.ui.platform.base.util
 
+import androidx.compose.animation.core.FastOutLinearInEasing
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.TopAppBarScrollBehavior
 import androidx.compose.ui.graphics.Color
@@ -22,6 +23,8 @@ fun TopAppBarScrollBehavior.toScrolledContainerColor(
     return lerp(
         start = expandedColor,
         stop = collapsedColor,
-        fraction = progressFraction,
+        // The easing function here matches what is currently in TopAppBarColors.containerColor and
+        // is necessary to match to the app bar color through the full range of motion.
+        fraction = FastOutLinearInEasing.transform(progressFraction),
     )
 }