Repository: flutter
Issue: Safe area padding differs per platform on device with cutout in fullscreen 
Labels: platform-android,framework,engine,a: layout,has reproducible steps,P2,found in release: 3.7,found in release: 3.10,team-android,triaged-android

Android reports 0 if SystemChrome is hidden iOS does not. 
What is the intended behaviour?

## Steps to Reproduce

<!-- You must include full steps to reproduce so that we can reproduce the problem. -->

1. Create fresh project:

2. Change two files:

A: To enable true fullscreen on Android modify styles.xml:

Add:
```xml
<item name="android:windowLayoutInDisplayCutoutMode">
    shortEdges
</item>
```
As per: https://medium.com/better-programming/making-notch-friendly-apps-for-android-75776272be5c

Otherwise the content will be letterboxed if hiding the SystemChrome.
See: https://github.com/flutter/flutter/issues/46486


B: The app demo code in main.dart
```Dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MyApp());
}

/// Flutter fullscreen SafeArea values demo
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    // Setting the system UI to pink for visibility
    SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle.dark.copyWith(
        systemNavigationBarColor: Colors.pink,
        statusBarColor: Colors.pink,
      ),
    );

    return MaterialApp(
      title: 'Flutter Fullscreen Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter fullscreen demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool _systemChromeVisible = true;

  void _toggleChromeVisibility() {
    _systemChromeVisible = !_systemChromeVisible;

    if (_systemChromeVisible) {
      SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
    } else {
      SystemChrome.setEnabledSystemUIOverlays([]);
    }
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {

    final EdgeInsets safeAreaPadding = MediaQuery.of(context).padding;

    return Scaffold(
      extendBodyBehindAppBar: true,
      appBar: AppBar(
        title: Text(widget.title),
        backgroundColor: Colors.green.withOpacity(0.7),
      ),
      body: Container(
        decoration: BoxDecoration(
          image: DecorationImage(
            image: NetworkImage('https://picsum.photos/id/1053/1000/1000/'),
            fit: BoxFit.cover,
          ),
        ),
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              RaisedButton(
                color: Colors.pink,
                onPressed: () => _toggleChromeVisibility(),
                child: Text(_systemChromeVisible ? 'Hide chrome' : 'Show chrome'),
              ),
              Container(
                margin: EdgeInsets.all(20),
                padding: EdgeInsets.all(20),
                color: Colors.white,
                child: Text(
                  'Safe area padding: \n$safeAreaPadding',
                  textAlign: TextAlign.center,
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}

```



**Expected results:** <!-- what did you want to see? -->

When SystemChrome is hidden the Scaffold and AppBar should behave the same on Android and iOS and still respect the SafeArea.

**Actual results:** <!-- what did you see? -->


In true fullscreen with system chrome hidden the safe area padding is always 0 on Android.
This makes it impossible to use Scaffold and AppBar.

System Crome pink for clarity no fullscreen:
<img width="300" alt="Screenshot 2020-08-20 at 22 03 35" src="https://user-images.githubusercontent.com/7723179/90818570-01b79d00-e32f-11ea-861e-d08bf60a81f5.png">

**PROBLEM:** 
In fullscreen with hidden System Chrome the AppBar ends up under/same level as cutouts due to 0 padding
<img width="300" alt="Screenshot 2020-08-20 at 22 03 35" src="https://user-images.githubusercontent.com/7723179/90819579-73441b00-e330-11ea-9ad1-25f6e53857f0.png">



Bonus (without android:windowLayoutInDisplayCutoutMode in Style.xml) resulting in letterboxing.
<img width="300" alt="Screenshot 2020-08-20 at 22 03 35" src="https://user-images.githubusercontent.com/7723179/90818665-2875d380-e32f-11ea-98d5-2c0e9ed7c5b0.png">

**iOS: OK**
<img width="300" alt="Screenshot 2020-08-20 at 22 03 35" src="https://user-images.githubusercontent.com/7723179/90820040-1432d600-e331-11ea-8b4b-242ebcd0a538.png">



Workaround:
Save the safe area values before hiding the system chrome and then apply them in a custom layout.

<details>
  <summary>Logs</summary>

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.6 19G73, locale en-SE)
    • Flutter version 1.20.2 at /Users/ff/DEV/flutter
    • Framework revision bbfbf1770c (7 days ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/ff/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/ff/Library/Android/sdk
    • Java binary at: /Users/ff/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6626763/Android Studio.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.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.8.4

[✓] Android Studio (version 4.0)
    • Android Studio at /Users/ff/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6626763/Android Studio.app/Contents
    • Flutter plugin version 48.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.48.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.2

[✓] Connected device (5 available)
    • sdk gphone x86 arm (mobile)        • emulator-5554                        • android-x86 • Android 11 (API 30) (emulator)
    • Android SDK built for x86 (mobile) • emulator-5556                        • android-x86 • Android 10 (API 29) (emulator)
    • AOSP on IA Emulator (mobile)       • emulator-5558                        • android-x86 • Android 9 (API 28) (emulator)
    • Android SDK built for x86 (mobile) • emulator-5560                        • android-x86 • Android 8.1.0 (API 27) (emulator)
    • iPhone 11 Pro (mobile)             • E2CFD5C7-0C8D-4F31-82BB-A09E2D5D6135 • ios         • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)

• No issues found!
```

</details>