Merge "Actually interpolate the time value." into tm-dev am: 8217fce33e

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18125441

Change-Id: I6fa858c90244056ab6b2da7782ff1c66dea235d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Josh Tsuji
2022-05-06 18:13:16 +00:00
committed by Automerger Merge Worker
@@ -156,14 +156,18 @@ public class Interpolators {
String.format("upperBound (%f) must be greater than lowerBound (%f)",
upperBound, lowerBound));
}
return t -> clampToProgress(t, lowerBound, upperBound);
return t -> clampToProgress(interpolator, t, lowerBound, upperBound);
}
/**
* Returns the progress value's progress between the lower and upper bounds. That is, the
* progress will be 0f from 0f to lowerBound, and reach 1f by upperBound.
*
* Between lowerBound and upperBound, the progress value will be interpolated using the provided
* interpolator.
*/
public static float clampToProgress(float progress, float lowerBound, float upperBound) {
public static float clampToProgress(
Interpolator interpolator, float progress, float lowerBound, float upperBound) {
if (upperBound < lowerBound) {
throw new IllegalArgumentException(
String.format("upperBound (%f) must be greater than lowerBound (%f)",
@@ -179,7 +183,15 @@ public class Interpolators {
if (progress > upperBound) {
return 1;
}
return (progress - lowerBound) / (upperBound - lowerBound);
return interpolator.getInterpolation((progress - lowerBound) / (upperBound - lowerBound));
}
/**
* Returns the progress value's progress between the lower and upper bounds. That is, the
* progress will be 0f from 0f to lowerBound, and reach 1f by upperBound.
*/
public static float clampToProgress(float progress, float lowerBound, float upperBound) {
return clampToProgress(Interpolators.LINEAR, progress, lowerBound, upperBound);
}
/**