Unverified Commit 60effb99 authored by Chris Bracken's avatar Chris Bracken Committed by GitHub

Extract a shared MediaQueryData for padding and viewInsets (#13434)

Also adds a TODO that should have landed with flutter/flutter#13423.
parent 3979dafa
...@@ -833,8 +833,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -833,8 +833,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
Widget build(BuildContext context) { Widget build(BuildContext context) {
assert(debugCheckHasMediaQuery(context)); assert(debugCheckHasMediaQuery(context));
assert(debugCheckHasDirectionality(context)); assert(debugCheckHasDirectionality(context));
final EdgeInsets padding = MediaQuery.of(context).padding; final MediaQueryData mediaQuery = MediaQuery.of(context);
final EdgeInsets viewInsets = MediaQuery.of(context).viewInsets;
final ThemeData themeData = Theme.of(context); final ThemeData themeData = Theme.of(context);
final TextDirection textDirection = Directionality.of(context); final TextDirection textDirection = Directionality.of(context);
...@@ -865,7 +864,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -865,7 +864,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
); );
if (widget.appBar != null) { if (widget.appBar != null) {
final double topPadding = widget.primary ? padding.top : 0.0; final double topPadding = widget.primary ? mediaQuery.padding.top : 0.0;
final double extent = widget.appBar.preferredSize.height + topPadding; final double extent = widget.appBar.preferredSize.height + topPadding;
assert(extent >= 0.0 && extent.isFinite); assert(extent >= 0.0 && extent.isFinite);
_addIfNonNull( _addIfNonNull(
...@@ -1021,10 +1020,10 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -1021,10 +1020,10 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
double endPadding; double endPadding;
switch (textDirection) { switch (textDirection) {
case TextDirection.rtl: case TextDirection.rtl:
endPadding = padding.left; endPadding = mediaQuery.padding.left;
break; break;
case TextDirection.ltr: case TextDirection.ltr:
endPadding = padding.right; endPadding = mediaQuery.padding.right;
break; break;
} }
assert(endPadding != null); assert(endPadding != null);
...@@ -1038,8 +1037,11 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -1038,8 +1037,11 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
child: new CustomMultiChildLayout( child: new CustomMultiChildLayout(
children: children, children: children,
delegate: new _ScaffoldLayout( delegate: new _ScaffoldLayout(
statusBarHeight: padding.top, statusBarHeight: mediaQuery.padding.top,
bottomPadding: widget.resizeToAvoidBottomPadding ? math.max(padding.bottom, viewInsets.bottom) : 0.0, // TODO(cbracken): this should use viewInsets.bottom only.
bottomPadding: widget.resizeToAvoidBottomPadding
? math.max(mediaQuery.padding.bottom, mediaQuery.viewInsets.bottom)
: 0.0,
endPadding: endPadding, endPadding: endPadding,
textDirection: textDirection, textDirection: textDirection,
), ),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment