Issue 1:
Steps to Reproduce

I start a SimpleDialog with a list in it . When I start the Dialog on the phone all is fine. In the emulator I get an exception which does not provide info to get to the root cause or useable information. (for me ;))

Phone and Emulator:

• Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

• Moto G 5 Plus • ZY224DHFWG • android-arm • Android 7.0 (API 24)

After simplifying the code I could reproduce the behavior with this simple code.

The error shows up on the emulator only it renders fine on my phone (Moto G5plus and Pixel). Also using shrinkWrap does not make a difference:

I also checked these other defects bt it seems the error message is still not helping to get to the problem and I dont know why I actually need any height setting in the code snippet below.

These are the related defects:

#8321

#8296

Does not work in Emulator

_showDialog(BuildContext context) => showDialog<Null>(
context: context,
child: new SimpleDialog(children: <Widget>[
new ListView(
// shrinkWrap: true,
// addRepaintBoundaries: true,
children: <Widget>[
const Text('1'),
const Text('2'),
const Text('3'),
const Text('4')
])
]));

Does not work in emulator:

onTap: () => showDialog<String>(
context: context,
child: new SimpleDialog(children: <Widget>[
new Container(
height: MediaQuery.of(context).size.height * 0.5,
width: double.INFINITY,
child: new ListView(
shrinkWrap: true,
children: <Widget>[
const Text('1'),
const Text('2'),
const Text('3'),
const Text('4')
]))
])),

Does work in Emulator

onTap: () => showDialog<String>(
context: context,
child: new SimpleDialog(children: <Widget>[
new Container(
height: MediaQuery.of(context).size.height * 0.5,
width: MediaQuery.of(context).size.width * 0.5,
child: new ListView(
shrinkWrap: true,
children: <Widget>[
const Text('1'),
const Text('2'),
const Text('3'),
const Text('4')
]))
])),

Exception Log

[ ] I/flutter (31525): 158 2018-01-09 23:55:45.322504 FINEST ui.chat_message_widget.dart: _renderImage ->
[ ] I/flutter (31525): message.mediaUrl : https://firebasestorage.googleapis.com/v0/b/lambdbdev.appspot.com/o/test_showcase%2FZvN0bw7GMMaZ9N3UotByzH8zFb33%2FZvN0bw7GMMaZ9N3UotByzH8zFb33%2Fimage_e4370613-a4be-4237-8087-eab74b5416e2.jpg?alt=media&token=c9452337-361c-4682-a03f-a199f77ec615, https://firebasestorage.googleapis.com/v0/b/lambdbdev.appspot.com/o/test_showcase%2FZvN0bw7GMMaZ9N3UotByzH8zFb33%2FZvN0bw7GMMaZ9N3UotByzH8zFb33%2Fimage_e4370613-a4be-4237-8087-eab74b5416e2_thumb.jpg?alt=media&token=c9452337-361c-4682-a03f-a199f77ec615
[ ] I/flutter (31525): message.mediaIsUploading : false
[ ] I/flutter (31525): message.mediaSize.x : 2268
[ ] I/flutter (31525): message.mediaSize.y : 4032
[ ] I/flutter (31525): message.readByUsers : {}
[ ] I/flutter (31525): message.isMediaUploadFailed : false
[ +2 ms] I/flutter (31525): 159 2018-01-09 23:55:45.324700 FINEST ui.busy_overlay.dart: isLoading: {false}
[ ] I/flutter (31525): supportsIsLoading: {true}
[ ] I/flutter (31525): height: {4032.0}
[ ] I/flutter (31525): width: {2268.0}
[ ] I/flutter (31525): child: {FadeInImage}
[ ] I/flutter (31525): borderRadius: {BorderRadius.circular(25.0)}
[ +127 ms] I/flutter (31525): 160 2018-01-09 23:55:45.453467 SEVERE lookatmybaby_flutter.sentry_error_reporter: Context: during performLayout(), library: rendering library
[ +2 ms] I/flutter (31525): error: RenderShrinkWrappingViewport does not support returning intrinsic dimensions.
[ ] I/flutter (31525): Calculating the intrinsic dimensions would require instantiating every child of the viewport, which defeats the point of viewports being lazy.
[ ] I/flutter (31525): If you are merely trying to shrink-wrap the viewport in the main axis direction, you should be able to achieve that effect by just giving the viewport loose constraints, without needing to measure its intrinsic dimensions.
[ +7 ms] I/flutter (31525): #0 RenderShrinkWrappingViewport.debugThrowIfNotCheckingIntrinsics.<anonymous closure> (package:flutter/src/rendering/viewport.dart:1211)
[ ] I/flutter (31525): #1 RenderShrinkWrappingViewport.debugThrowIfNotCheckingIntrinsics (package:flutter/src/rendering/viewport.dart:1221)
[ ] I/flutter (31525): #2 RenderViewportBase.computeMaxIntrinsicHeight (package:flutter/src/rendering/viewport.dart:229)
[ ] I/flutter (31525): #3 RenderBox._computeIntrinsicDimension.<anonymous closure> (package:flutter/src/rendering/box.dart:1050)
[ ] I/flutter (31525): #4 _HashVMBase&MapMixin&&_LinkedHashMapMixin.putIfAbsent (dart:collection-patch/dart:collection/compact_hash.dart:275)
[ ] I/flutter (31525): #5 RenderBox._computeIntrinsicDimension (package:flutter/src/rendering/box.dart:1048)
[ ] I/flutter (31525): #6 RenderBox.getMaxIntrinsicHeight (package:flutter/src/rendering/box.dart:1381)
[ ] I/flutter (31525): #7 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.computeMaxIntrinsicHeight (package:flutter/src/rendering/proxy_box.dart:91)
[ ] I/flutter (31525): #8 RenderBox._computeIntrinsicDimension.<anonymous closure> (package:flutter/src/rendering/box.dar
[ ] I/flutter (31525): 161 2018-01-09 23:55:45.463717 SEVERE lookatmybaby_flutter.sentry_error_reporter: Context: during performLayout(), library: rendering library
[ ] I/flutter (31525): error: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1433: 'hasSize': is not true.
[ +2 ms] I/flutter (31525): #0 _AssertionError._doThrowNew (dart:core-patch/dart:core/errors_patch.dart:37)
[ ] I/flutter (31525): #1 _AssertionError._throwNew (dart:core-patch/dart:core/errors_patch.dart:33)
[ ] I/flutter (31525): #2 RenderBox.size (package:flutter/src/rendering/box.dart:1433)
[ ] I/flutter (31525): #3 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:106)
[ ] I/flutter (31525): #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #5 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
[ ] I/flutter (31525): #6 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1003)
[ ] I/flutter (31525): #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #8 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:255)
[ ] I/flutter (31525): #9 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #10 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199)
[ ] I/flutter (31525): #11 RenderObject
[ ] I/flutter (31525): 162 2018-01-09 23:55:45.468066 SEVERE lookatmybaby_flutter.sentry_error_reporter: Context: during performLayout(), library: rendering library
[ ] I/flutter (31525): error: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1433: 'hasSize': is not true.
[ +3 ms] I/flutter (31525): #0 _AssertionError._doThrowNew (dart:core-patch/dart:core/errors_patch.dart:37)
[ ] I/flutter (31525): #1 _AssertionError._throwNew (dart:core-patch/dart:core/errors_patch.dart:33)
[ ] I/flutter (31525): #2 RenderBox.size (package:flutter/src/rendering/box.dart:1433)
[ ] I/flutter (31525): #3 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:106)
[ ] I/flutter (31525): #4 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1003)
[ ] I/flutter (31525): #5 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #6 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:255)
[ ] I/flutter (31525): #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #8 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199)
[ ] I/flutter (31525): #9 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #10 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381)
[ ] I/flutter (31525): #11 RenderObject.layout (package:flutter/src/render
[ ] I/flutter (31525): 163 2018-01-09 23:55:45.472362 SEVERE lookatmybaby_flutter.sentry_error_reporter: Context: during performLayout(), library: rendering library
[ ] I/flutter (31525): error: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1433: 'hasSize': is not true.
[ +1 ms] I/flutter (31525): #0 _AssertionError._doThrowNew (dart:core-patch/dart:core/errors_patch.dart:37)
[ ] I/flutter (31525): #1 _AssertionError._throwNew (dart:core-patch/dart:core/errors_patch.dart:33)
[ ] I/flutter (31525): #2 RenderBox.size (package:flutter/src/rendering/box.dart:1433)
[ ] I/flutter (31525): #3 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:256)
[ ] I/flutter (31525): #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #5 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199)
[ ] I/flutter (31525): #6 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #7 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381)
[ ] I/flutter (31525): #8 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #9 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
[ ] I/flutter (31525): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #11 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.perfo
[ +1 ms] I/flutter (31525): 164 2018-01-09 23:55:45.475519 SEVERE lookatmybaby_flutter.sentry_error_reporter: Context: during performLayout(), library: rendering library
[ ] I/flutter (31525): error: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1433: 'hasSize': is not true.
[ +3 ms] I/flutter (31525): #0 _AssertionError._doThrowNew (dart:core-patch/dart:core/errors_patch.dart:37)
[ ] I/flutter (31525): #1 _AssertionError._throwNew (dart:core-patch/dart:core/errors_patch.dart:33)
[ ] I/flutter (31525): #2 RenderBox.size (package:flutter/src/rendering/box.dart:1433)
[ ] I/flutter (31525): #3 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:203)
[ ] I/flutter (31525): #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #5 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381)
[ ] I/flutter (31525): #6 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #7 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
[ ] I/flutter (31525): #8 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #9 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
[ ] I/flutter (31525): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1551)
[ ] I/flutter (31525): #11 RenderBox&RenderObjectWith

Flutter Doctor

C:\Projects\lambDev\lookatmybaby_shared>flutter doctor
[√] Flutter (on Microsoft Windows [Version 10.0.16299.192], locale en-US, channel alpha)
• Flutter at c:\sdks\flutter
• Framework revision 8f65fec5f5 (4 weeks ago), 2017-12-12 09:50:14 -0800
• Engine revision edaecdc8b8
• Tools Dart version 1.25.0-dev.11.0
• Engine Dart version 2.0.0-edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e

[√] Android toolchain - develop for Android devices (Android SDK 27.0.2)
• Android SDK at C:\Users\ride4\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] Android Studio (version 3.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] IntelliJ IDEA Community Edition (version 2017.2)
• Flutter plugin version 19.1
• Dart plugin version 172.4343.25

[√] Connected devices
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)
• Moto G 5 Plus • ZY224DHFWG • android-arm • Android 7.0 (API 24)
• Nexus 5 • 03b71506f0b4f6b6 • android-arm • Android 6.0.1 (API 23)

Issue 2:
The AboutListTile class that provides list of all licenses used by an app contains a lot of duplicates.

The class is located here: https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/about.dart

Please remove the duplicating entries.