// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

void main() {
  // Generic reference variables.
  BuildContext context;

  // Changes made in https://github.com/flutter/flutter/pull/26259
  const Scaffold scaffold = Scaffold(resizeToAvoidBottomInset: true);
  final bool resize = scaffold.resizeToAvoidBottomInset;

  // Change made in https://github.com/flutter/flutter/pull/15303
  showDialog(builder: (context) => Text('Fix me.'));

  // Changes made in https://github.com/flutter/flutter/pull/44189
  const Element element = Element(myWidget);
  element.dependOnInheritedElement(ancestor);
  element.dependOnInheritedWidgetOfExactType<targetType>();
  element.getElementForInheritedWidgetOfExactType<targetType>();
  element.findAncestorWidgetOfExactType<targetType>();
  element.findAncestorStateOfType<targetType>();
  element.findRootAncestorStateOfType<targetType>();
  element.findAncestorRenderObjectOfType<targetType>();

  // Changes made in https://github.com/flutter/flutter/pull/45941
  final WidgetsBinding binding = WidgetsBinding.instance!;
  binding.deferFirstFrame();
  binding.allowFirstFrame();

  // Changes made in https://github.com/flutter/flutter/pull/44189
  const StatefulElement statefulElement = StatefulElement(myWidget);
  statefulElement.dependOnInheritedElement(ancestor);

  // Changes made in https://github.com/flutter/flutter/pull/44189
  const BuildContext buildContext = Element(myWidget);
  buildContext.dependOnInheritedElement(ancestor);
  buildContext.dependOnInheritedWidgetOfExactType<targetType>();
  buildContext.getElementForInheritedWidgetOfExactType<targetType>();
  buildContext.findAncestorWidgetOfExactType<targetType>();
  buildContext.findAncestorStateOfType<targetType>();
  buildContext.findRootAncestorStateOfType<targetType>();
  buildContext.findAncestorRenderObjectOfType<targetType>();

  // Changes made in https://github.com/flutter/flutter/pull/66305
  const Stack stack = Stack(clipBehavior: Clip.none);
  const Stack stack = Stack(clipBehavior: Clip.hardEdge);
  final behavior = stack.clipBehavior;

  // Changes made in https://github.com/flutter/flutter/pull/61648
  const Form form = Form(autovalidateMode: AutovalidateMode.always);
  const Form form = Form(autovalidateMode: AutovalidateMode.disabled);
  final autoMode = form.autovalidateMode;

  // Changes made in https://github.com/flutter/flutter/pull/61648
  const FormField formField = FormField(autovalidateMode: AutovalidateMode.always);
  const FormField formField = FormField(autovalidateMode: AutovalidateMode.disabled);
  final autoMode = formField.autovalidateMode;

  // Changes made in https://github.com/flutter/flutter/pull/61648
  const TextFormField textFormField = TextFormField(autovalidateMode: AutovalidateMode.always);
  const TextFormField textFormField = TextFormField(autovalidateMode: AutovalidateMode.disabled);

  // Changes made in https://github.com/flutter/flutter/pull/61648
  const DropdownButtonFormField dropDownButtonFormField = DropdownButtonFormField(autovalidateMode: AutovalidateMode.always);
  const DropdownButtonFormField dropdownButtonFormField = DropdownButtonFormField(autovalidateMode: AutovalidateMode.disabled);

  // Changes made in https://github.com/flutter/flutter/pull/48547
  var TextTheme textTheme = TextTheme(
    headline1: displayStyle4,
    headline2: displayStyle3,
    headline3: displayStyle2,
    headline4: displayStyle1,
    headline5: headlineStyle,
    headline6: titleStyle,
    subtitle1: subheadStyle,
    bodyText1: body2Style,
    bodyText2: body1Style,
    caption: captionStyle,
    button: buttonStyle,
    subtitle2: subtitleStyle,
    overline: overlineStyle,
  );

  // Changes made in https://github.com/flutter/flutter/pull/48547
  var TextTheme copiedTextTheme = TextTheme.copyWith(
    headline1: displayStyle4,
    headline2: displayStyle3,
    headline3: displayStyle2,
    headline4: displayStyle1,
    headline5: headlineStyle,
    headline6: titleStyle,
    subtitle1: subheadStyle,
    bodyText1: body2Style,
    bodyText2: body1Style,
    caption: captionStyle,
    button: buttonStyle,
    subtitle2: subtitleStyle,
    overline: overlineStyle,
  );

  // Changes made in https://github.com/flutter/flutter/pull/48547
  var style;
  style = textTheme.headline1;
  style = textTheme.headline2;
  style = textTheme.headline3;
  style = textTheme.headline4;
  style = textTheme.headline5;
  style = textTheme.headline6;
  style = textTheme.subtitle1;
  style = textTheme.bodyText1;
  style = textTheme.bodyText2;
  style = textTheme.caption;
  style = textTheme.button;
  style = textTheme.subtitle2;
  style = textTheme.overline;

  // Changes made in https://github.com/flutter/flutter/pull/68736
  MediaQuery.maybeOf(context);
  MediaQuery.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/70726
  Navigator.maybeOf(context);
  Navigator.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/68908
  ScaffoldMessenger.maybeOf(context);
  ScaffoldMessenger.of(context);
  Scaffold.maybeOf(context);
  Scaffold.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/68910
  Router.maybeOf(context);
  Router.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/68911
  Localizations.maybeLocaleOf(context);
  Localizations.localeOf(context);

  // Changes made in https://github.com/flutter/flutter/pull/68917
  FocusTraversalOrder.maybeOf(context);
  FocusTraversalOrder.of(context);
  FocusTraversalGroup.maybeOf(context);
  FocusTraversalGroup.of(context);
  Focus.maybeOf(context);
  Focus.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/68921
  Shortcuts.maybeOf(context);
  Shortcuts.of(context);
  Actions.maybeFind(context);
  Actions.find(context);
  Actions.handler(context);
  Actions.handler(context);
  Actions.maybeInvoke(context);
  Actions.invoke(context);

  // Changes made in https://github.com/flutter/flutter/pull/68925
  AnimatedList.maybeOf(context);
  AnimatedList.of(context);
  SliverAnimatedList.maybeOf(context);
  SliverAnimatedList.of(context);

  // Changes made in https://github.com/flutter/flutter/pull/68905
  MaterialBasedCupertinoThemeData.resolveFrom(context);
  MaterialBasedCupertinoThemeData.resolveFrom(context);

  // Changes made in https://github.com/flutter/flutter/pull/72043
  TextField(maxLengthEnforcement: MaxLengthEnforcement.enforce);
  TextField(maxLengthEnforcement: MaxLengthEnforcement.none);
  final TextField textField;
  textField.maxLengthEnforcement;
  TextFormField(maxLengthEnforcement: MaxLengthEnforcement.enforce);
  TextFormField(maxLengthEnforcement: MaxLengthEnforcement.none);

  // Changes made in https://github.com/flutter/flutter/pull/59127
  const BottomNavigationBarItem bottomNavigationBarItem = BottomNavigationBarItem(label: myTitle);
  bottomNavigationBarItem.label;

  // Changes made in https://github.com/flutter/flutter/pull/65246
  RectangularSliderTrackShape();

  // Changes made in https://github.com/flutter/flutter/pull/46115
  const InputDecoration inputDecoration = InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.auto);
  InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.never);
  InputDecoration();
  InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.auto);
  InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.never);
  InputDecoration.collapsed();
  inputDecoration.floatingLabelBehavior;
  const InputDecorationTheme inputDecorationTheme = InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.auto);
  InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.never);
  InputDecorationTheme();
  inputDecorationTheme.floatingLabelBehavior;

  // Changes made in https://github.com/flutter/flutter/pull/66482
  ThemeData(textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red));
  ThemeData(textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue));
  ThemeData(textSelectionTheme: TextSelectionThemeData(selectionHandleColor: Colors.yellow));
  ThemeData();
  ThemeData(textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red));
  ThemeData(textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue));
  ThemeData(textSelectionTheme: TextSelectionThemeData(selectionHandleColor: Colors.yellow));
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionHandleColor: Colors.yellow,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionHandleColor: Colors.yellow,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red));
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue));
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(selectionHandleColor: Colors.yellow));
  ThemeData.raw();
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red));
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue));
  ThemeData.raw(textSelectionTheme: TextSelectionThemeData(selectionHandleColor: Colors.yellow));
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );
  ThemeData.raw(
    textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.blue, selectionColor: Colors.red, selectionHandleColor: Colors.yellow,),
  );

  // Changes made in https://github.com/flutter/flutter/pull/79160
  Draggable draggable = Draggable();
  draggable = Draggable(dragAnchorStrategy: childDragAnchorStrategy);
  draggable = Draggable(dragAnchorStrategy: pointerDragAnchorStrategy);
  draggable.dragAnchorStrategy;

  // Changes made in https://github.com/flutter/flutter/pull/79160
  LongPressDraggable longPressDraggable = LongPressDraggable();
  longPressDraggable = LongPressDraggable(dragAnchorStrategy: childDragAnchorStrategy);
  longPressDraggable = LongPressDraggable(dragAnchorStrategy: pointerDragAnchorStrategy);
  longPressDraggable.dragAnchorStrategy;
}
