From 419be22340fcf14fa5bda7f88df3841e582fbe9b Mon Sep 17 00:00:00 2001 From: Hans Muller Date: Tue, 30 Oct 2018 11:08:21 -0700 Subject: [PATCH] More debugCheckHasMaterialLocalizations() asserts (#23740) --- packages/flutter/lib/src/material/back_button.dart | 1 + packages/flutter/lib/src/material/date_picker.dart | 3 ++- packages/flutter/lib/src/material/stepper.dart | 1 + packages/flutter/lib/src/material/tabs.dart | 1 + packages/flutter/lib/src/material/text_selection.dart | 2 ++ packages/flutter/lib/src/material/time.dart | 6 +++++- packages/flutter/lib/src/material/time_picker.dart | 2 ++ 7 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/flutter/lib/src/material/back_button.dart b/packages/flutter/lib/src/material/back_button.dart index 87f1e74933..31504b5eec 100644 --- a/packages/flutter/lib/src/material/back_button.dart +++ b/packages/flutter/lib/src/material/back_button.dart @@ -116,6 +116,7 @@ class CloseButton extends StatelessWidget { @override Widget build(BuildContext context) { + assert(debugCheckHasMaterialLocalizations(context)); return IconButton( icon: const Icon(Icons.close), tooltip: MaterialLocalizations.of(context).closeButtonTooltip, diff --git a/packages/flutter/lib/src/material/date_picker.dart b/packages/flutter/lib/src/material/date_picker.dart index 98eef2de28..7b3e51f001 100644 --- a/packages/flutter/lib/src/material/date_picker.dart +++ b/packages/flutter/lib/src/material/date_picker.dart @@ -943,7 +943,6 @@ class _DatePickerDialogState extends State<_DatePickerDialog> { @override Widget build(BuildContext context) { - assert(debugCheckHasMaterialLocalizations(context)); final ThemeData theme = Theme.of(context); final Widget picker = Flexible( child: SizedBox( @@ -1086,6 +1085,8 @@ Future showDatePicker({ 'Provided initialDate must satisfy provided selectableDayPredicate' ); assert(initialDatePickerMode != null, 'initialDatePickerMode must not be null'); + assert(context != null); + assert(debugCheckHasMaterialLocalizations(context)); Widget child = _DatePickerDialog( initialDate: initialDate, diff --git a/packages/flutter/lib/src/material/stepper.dart b/packages/flutter/lib/src/material/stepper.dart index 78c54c3d47..f9586c6bfb 100644 --- a/packages/flutter/lib/src/material/stepper.dart +++ b/packages/flutter/lib/src/material/stepper.dart @@ -670,6 +670,7 @@ class _StepperState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); + assert(debugCheckHasMaterialLocalizations(context)); assert(() { if (context.ancestorWidgetOfExactType(Stepper) != null) throw FlutterError( diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart index c2ef5cb684..c6952d4f9f 100644 --- a/packages/flutter/lib/src/material/tabs.dart +++ b/packages/flutter/lib/src/material/tabs.dart @@ -899,6 +899,7 @@ class _TabBarState extends State { @override Widget build(BuildContext context) { + assert(debugCheckHasMaterialLocalizations(context)); final MaterialLocalizations localizations = MaterialLocalizations.of(context); if (_controller.length == 0) { return Container( diff --git a/packages/flutter/lib/src/material/text_selection.dart b/packages/flutter/lib/src/material/text_selection.dart index b4b62bdcf0..eba02b4903 100644 --- a/packages/flutter/lib/src/material/text_selection.dart +++ b/packages/flutter/lib/src/material/text_selection.dart @@ -7,6 +7,7 @@ import 'dart:math' as math; import 'package:flutter/widgets.dart'; import 'package:flutter/rendering.dart'; +import 'debug.dart'; import 'flat_button.dart'; import 'material.dart'; import 'material_localizations.dart'; @@ -132,6 +133,7 @@ class _MaterialTextSelectionControls extends TextSelectionControls { @override Widget buildToolbar(BuildContext context, Rect globalEditableRegion, Offset position, TextSelectionDelegate delegate) { assert(debugCheckHasMediaQuery(context)); + assert(debugCheckHasMaterialLocalizations(context)); return ConstrainedBox( constraints: BoxConstraints.tight(globalEditableRegion.size), child: CustomSingleChildLayout( diff --git a/packages/flutter/lib/src/material/time.dart b/packages/flutter/lib/src/material/time.dart index e3ffdfb985..c551b57f59 100644 --- a/packages/flutter/lib/src/material/time.dart +++ b/packages/flutter/lib/src/material/time.dart @@ -3,10 +3,13 @@ // found in the LICENSE file. import 'dart:ui' show hashValues; + import 'package:flutter/widgets.dart'; +import 'debug.dart'; import 'material_localizations.dart'; + /// Whether the [TimeOfDay] is before or after noon. enum DayPeriod { /// Ante meridiem (before noon). @@ -96,7 +99,8 @@ class TimeOfDay { /// /// This is a shortcut for [MaterialLocalizations.formatTimeOfDay]. String format(BuildContext context) { - debugCheckHasMediaQuery(context); + assert(debugCheckHasMediaQuery(context)); + assert(debugCheckHasMaterialLocalizations(context)); final MaterialLocalizations localizations = MaterialLocalizations.of(context); return localizations.formatTimeOfDay( this, diff --git a/packages/flutter/lib/src/material/time_picker.dart b/packages/flutter/lib/src/material/time_picker.dart index b22c593ae9..a0a511b83b 100644 --- a/packages/flutter/lib/src/material/time_picker.dart +++ b/packages/flutter/lib/src/material/time_picker.dart @@ -12,6 +12,7 @@ import 'package:flutter/widgets.dart'; import 'button_bar.dart'; import 'button_theme.dart'; import 'colors.dart'; +import 'debug.dart'; import 'dialog.dart'; import 'feedback.dart'; import 'flat_button.dart'; @@ -1672,6 +1673,7 @@ Future showTimePicker({ }) async { assert(context != null); assert(initialTime != null); + assert(debugCheckHasMaterialLocalizations(context)); return await showDialog( context: context,