Merge changes from topic "am-1abed5a8-2763-4f96-8333-2a5ce35c98d3" into ub-launcher3-master

* changes:
  [automerger] When controlling atomic components, bound to remaining progress am: 520ffec9d3
  When controlling atomic components, bound to remaining progress
diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
index d478d48..55f850c 100644
--- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
+++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
@@ -283,7 +283,9 @@
     protected void updateProgress(float fraction) {
         mCurrentAnimation.setPlayFraction(fraction);
         if (mAtomicComponentsController != null) {
-            mAtomicComponentsController.setPlayFraction(fraction - mAtomicComponentsStartProgress);
+            // Make sure we don't divide by 0, and have at least a small runway.
+            float start = Math.min(mAtomicComponentsStartProgress, 0.9f);
+            mAtomicComponentsController.setPlayFraction((fraction - start) / (1 - start));
         }
         maybeUpdateAtomicAnim(mFromState, mToState, fraction);
     }