Repository: flutter
Issue: BottomSheet has nullable animationController but uses it as non-null
Labels: framework,f: material design,a: null-safety,P2,team-design,triaged-design

Created from b/173042655, the bottom sheet widget throws exceptions if used without an animationController, even though this property is nullable.

## Steps to Reproduce

<!-- You must include full steps to reproduce so that we can reproduce the problem. -->

1. Create an app with a `BottomSheet` as the child, something like:

```
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: BottomSheet(
          onClosing: (){},
          builder: (context) {
            return Container(
              color: Colors.orange,
              height: 100,
              width: 100,
            );
          },
        ),
      ),
    );
  }
```

2. Perform drag gesture on the bottom sheet
3. See exception thrown:

```
The following _CastError was thrown while handling a gesture:
Null check operator used on a null value

When the exception was thrown, this was the stack: 
#0      _BottomSheetState._dismissUnderway (package:flutter/src/material/bottom_sheet.dart:194:58)
#1      _BottomSheetState._handleDragUpdate (package:flutter/src/material/bottom_sheet.dart:204:9)
#2      DragGestureRecognizer._checkUpdate.<anonymous closure> (package:flutter/src/gestures/monodrag.dart:431:55)
#3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
#4      DragGestureRecognizer._checkUpdate (package:flutter/src/gestures/monodrag.dart:431:7)
```

**Expected results:** No exception or enforce a non-null animation controller

**Actual results:** Exception occurs

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
[✓] Flutter (Channel master, 1.24.0-8.0.pre.252, on Mac OS X 10.15.5 19F101 darwin-x64, locale en-US)
    • Flutter version 1.24.0-8.0.pre.252 at /Users/<user>/Development/flutter
    • Framework revision bf2c9dfc05 (35 hours ago), 2020-11-14 22:38:02 -0500
    • Engine revision 3e77d854a7
    • Dart version 2.12.0 (build 2.12.0-45.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/raboughanem/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio with Blaze.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.0.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (4 available)
    • iPhone 8 (mobile) • 1CDE6067-6A37-4B9F-861F-D3316A9AB34B • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    • macOS (desktop)   • macos                                • darwin-x64     • Mac OS X 10.15.5 19F101 darwin-x64
    • Web Server (web)  • web-server                           • web-javascript • Flutter Tools
    • Chrome (web)      • chrome                               • web-javascript • Google Chrome 86.0.4240.198

• No issues found!
```

</details>