[animations] Remove copy of curves (#182)

diff --git a/packages/animations/lib/src/fade_scale_transition.dart b/packages/animations/lib/src/fade_scale_transition.dart
index 63d217c..19d7659 100644
--- a/packages/animations/lib/src/fade_scale_transition.dart
+++ b/packages/animations/lib/src/fade_scale_transition.dart
@@ -2,13 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:flutter/material.dart';
+import 'package:flutter/material.dart'
+    hide decelerateEasing; // ignore: undefined_hidden_name
+// TODO(goderbauer): Remove implementation import when material properly exports the file.
+import 'package:flutter/src/material/curves.dart'; // ignore: implementation_imports
 
 // TODO(shihaohong): Remove DualTransitionBuilder once flutter/flutter's `stable`
 // branch contains DualTransitionBuilder.
 import 'dual_transition_builder.dart' as dual_transition_builder;
 import 'modal.dart';
-import 'utils/curves.dart';
 
 /// The modal transition configuration for a Material fade transition.
 ///
diff --git a/packages/animations/lib/src/shared_axis_transition.dart b/packages/animations/lib/src/shared_axis_transition.dart
index 7940430..503386c 100644
--- a/packages/animations/lib/src/shared_axis_transition.dart
+++ b/packages/animations/lib/src/shared_axis_transition.dart
@@ -4,13 +4,18 @@
 
 import 'package:flutter/animation.dart';
 import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
+import 'package:flutter/material.dart'
+    hide
+        decelerateEasing, // ignore: undefined_hidden_name
+        standardEasing, // ignore: undefined_hidden_name
+        accelerateEasing; // ignore: undefined_hidden_name
+// TODO(goderbauer): Remove implementation import when material properly exports the file.
+import 'package:flutter/src/material/curves.dart'; // ignore: implementation_imports
 import 'package:flutter/widgets.dart';
 
 // TODO(shihaohong): Remove DualTransitionBuilder once flutter/flutter's `stable`
 // branch contains DualTransitionBuilder.
 import 'dual_transition_builder.dart' as dual_transition_builder;
-import 'utils/curves.dart';
 
 /// Determines which type of shared axis transition is used.
 enum SharedAxisTransitionType {
@@ -398,7 +403,7 @@
   final Color fillColor;
   final Widget child;
 
-  static final Animatable<double> _fadeOutTransition = FlippedCurveTween(
+  static final Animatable<double> _fadeOutTransition = _FlippedCurveTween(
     curve: accelerateEasing,
   ).chain(CurveTween(curve: const Interval(0.0, 0.3)));
 
@@ -478,3 +483,21 @@
     return null; // unreachable
   }
 }
+
+/// Enables creating a flipped [CurveTween].
+///
+/// This creates a [CurveTween] that evaluates to a result that flips the
+/// tween vertically.
+///
+/// This tween sequence assumes that the evaluated result has to be a double
+/// between 0.0 and 1.0.
+class _FlippedCurveTween extends CurveTween {
+  /// Creates a vertically flipped [CurveTween].
+  _FlippedCurveTween({
+    @required Curve curve,
+  })  : assert(curve != null),
+        super(curve: curve);
+
+  @override
+  double transform(double t) => 1.0 - super.transform(t);
+}
diff --git a/packages/animations/lib/src/utils/curves.dart b/packages/animations/lib/src/utils/curves.dart
deleted file mode 100644
index f464679..0000000
--- a/packages/animations/lib/src/utils/curves.dart
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2019 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:flutter/animation.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
-
-// The easing curves of the Material Library
-/// The standard easing curve in the Material specification.
-///
-/// Elements that begin and end at rest use standard easing.
-/// They speed up quickly and slow down gradually, in order
-/// to emphasize the end of the transition.
-///
-/// See also:
-/// * <https://material.io/design/motion/speed.html#easing>
-const Curve standardEasing = Cubic(0.4, 0.0, 0.2, 1);
-
-/// The accelerate easing curve in the Material specification.
-///
-/// Elements exiting a screen use acceleration easing,
-/// where they start at rest and end at peak velocity.
-///
-/// See also:
-/// * <https://material.io/design/motion/speed.html#easing>
-const Curve accelerateEasing = Cubic(0.4, 0.0, 1.0, 1.0);
-
-/// The decelerate easing curve in the Material specification.
-///
-/// Incoming elements are animated using deceleration easing,
-/// which starts a transition at peak velocity (the fastest
-/// point of an element’s movement) and ends at rest.
-///
-/// See also:
-/// * <https://material.io/design/motion/speed.html#easing>
-const Curve decelerateEasing = Cubic(0.0, 0.0, 0.2, 1.0);
-
-// A tween that starts from 1.0 and ends at 0.0.
-final Tween<double> _flippedTween = Tween<double>(
-  begin: 1.0,
-  end: 0.0,
-);
-
-/// Enables creating a flipped [CurveTween].
-///
-/// This creates a [CurveTween] that evaluates to a result that flips the
-/// tween vertically.
-///
-/// This tween sequence assumes that the evaluated result has to be a double
-/// between 0.0 and 1.0.
-class FlippedCurveTween extends CurveTween {
-  /// Creates a vertically flipped [CurveTween].
-  FlippedCurveTween({
-    @required Curve curve,
-  })  : assert(curve != null),
-        super(curve: curve);
-
-  @override
-  double transform(double t) => 1.0 - super.transform(t);
-}
-
-/// Flips the incoming passed in [Animation] to start from 1.0 and end at 0.0.
-Animation<double> flipTween(Animation<double> animation) {
-  return _flippedTween.animate(animation);
-}