Repository: flutter
Issue: ModalBottomSheet's transition animation became jumpy (not janky) in Flutter 2.0 on iOS
Labels: platform-ios,framework,a: animation,f: material design,a: quality,has reproducible steps,found in release: 2.1,team-design,triaged-design

## Precondition: use an iOS simulator/device. 

## Steps to Reproduce

<!-- You must include full steps to reproduce so that we can reproduce the problem. -->

Please note that this is not about the animation performance, it's about the animation itself.

1. Create a default flutter app.
2. Replace the app's main content with the following piece of code:
``` dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: MyHomePage());
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  TextEditingController _textEditingController = TextEditingController();

  @override
  void dispose() {
    _textEditingController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Keyboard + Bottom Sheet')),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(24.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text(
                  'Notice the bottom sheet transition animation, Flutter 1.22.6, slow animation mode'),
              TextField(),
            ],
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _showBottomSheet,
        child: Icon(Icons.add),
      ),
    );
  }

  void _showBottomSheet() {
    showModalBottomSheet(
      context: context,
      builder: (ctx) => Container(height: 400, color: Colors.red),
    );
  }
}
```
3. Open the soft keyboard by setting focus in the text field.
4. Open the modal bottom sheet by tapping the floating action button.
5. Tap outside the bottom sheet to close it. Notice how the closing animations differ on Flutter v2.0 vs Flutter v1.22. 

**Actual results:** In Flutter v1.22 the sheet's closing starts at the same time when the keyboard starts appearing and the animation looks good, whereas in Flutter v2.0 the sheet's closing starts after the keyboard has been opened (+ the keyboard cuts the bottom sheet now, see the slow-motion video). That's why the animation looks jumpy (not janky, this is not about the lost frames).

**Expected results:** Go back to the Flutter v1.26 behavior when the animation worked differently and that's why looked smoother.

https://user-images.githubusercontent.com/8143332/112745857-168a9c00-8fb4-11eb-8758-c423a5b3691c.mp4

https://user-images.githubusercontent.com/8143332/112745858-1be7e680-8fb4-11eb-82e0-7c765bd765a6.mp4

I also recorded the animations with slow animations mode turned on iPhone 12 Mini device:

https://user-images.githubusercontent.com/8143332/112812554-f3302180-9085-11eb-84a0-1645043c34a6.mov


https://user-images.githubusercontent.com/8143332/112812575-f75c3f00-9085-11eb-8811-8f921969697f.mov



<details>
  <summary>Logs</summary>

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

**Flutter v1.22.6:**
```
[✓] Flutter (Channel unknown, 1.22.6, on macOS 11.2.3 20D91 darwin-x64, locale en-BY)
    • Flutter version 1.22.6 at /Users/pavel_sulimau/fvm/versions/1.22.6
    • Framework revision 9b2d32b605 (9 weeks ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pavel_sulimau/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (1 available)
    • iPhone 12 Pro Max (mobile) • 8F693604-AEB3-4692-A0E3-A04316E77FFD • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)

! Doctor found issues in 1 category.
```

**Flutter v2.0.3:**
```
[✓] Flutter (Channel stable, 2.0.3, on macOS 11.2.3 20D91 darwin-x64, locale en-BY)
    • Flutter version 2.0.3 at /Users/pavel_sulimau/fvm/versions/stable
    • Framework revision 4d7946a68d (9 days ago), 2021-03-18 17:24:33 -0700
    • Engine revision 3459eb2436
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pavel_sulimau/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (2 available)
    • iPhone 12 Pro Max (mobile) • 8F693604-AEB3-4692-A0E3-A04316E77FFD • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • Chrome (web)               • chrome                               • web-javascript • Google
      Chrome 89.0.4389.90

• No issues found!
```

</details>