Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
f4e10b4f
Unverified
Commit
f4e10b4f
authored
Jul 28, 2020
by
Michael Goderbauer
Committed by
GitHub
Jul 28, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make dartdoc warnings fatal (& cleanup of warnings) (#62367)
parent
e17a7219
Changes
40
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
177 additions
and
209 deletions
+177
-209
dartdoc_options.yaml
dartdoc_options.yaml
+21
-6
dartdoc.dart
dev/tools/dartdoc.dart
+0
-5
binding.dart
packages/flutter/lib/src/gestures/binding.dart
+0
-5
borders.dart
packages/flutter/lib/src/painting/borders.dart
+1
-1
clip.dart
packages/flutter/lib/src/painting/clip.dart
+1
-1
debug.dart
packages/flutter/lib/src/painting/debug.dart
+4
-4
gradient.dart
packages/flutter/lib/src/painting/gradient.dart
+1
-1
image_provider.dart
packages/flutter/lib/src/painting/image_provider.dart
+6
-6
image_stream.dart
packages/flutter/lib/src/painting/image_stream.dart
+2
-2
inline_span.dart
packages/flutter/lib/src/painting/inline_span.dart
+1
-1
text_painter.dart
packages/flutter/lib/src/painting/text_painter.dart
+5
-5
text_style.dart
packages/flutter/lib/src/painting/text_style.dart
+1
-1
binding.dart
packages/flutter/lib/src/rendering/binding.dart
+1
-2
binding.dart
packages/flutter/lib/src/scheduler/binding.dart
+7
-7
ticker.dart
packages/flutter/lib/src/scheduler/ticker.dart
+3
-3
binding.dart
packages/flutter/lib/src/semantics/binding.dart
+2
-1
semantics.dart
packages/flutter/lib/src/semantics/semantics.dart
+22
-31
semantics_event.dart
packages/flutter/lib/src/semantics/semantics_event.dart
+1
-1
autofill.dart
packages/flutter/lib/src/services/autofill.dart
+2
-2
binding.dart
packages/flutter/lib/src/services/binding.dart
+5
-4
platform_views.dart
packages/flutter/lib/src/services/platform_views.dart
+11
-5
raw_keyboard_linux.dart
packages/flutter/lib/src/services/raw_keyboard_linux.dart
+38
-31
raw_keyboard_web.dart
packages/flutter/lib/src/services/raw_keyboard_web.dart
+1
-1
system_channels.dart
packages/flutter/lib/src/services/system_channels.dart
+3
-3
system_chrome.dart
packages/flutter/lib/src/services/system_chrome.dart
+1
-1
text_formatter.dart
packages/flutter/lib/src/services/text_formatter.dart
+3
-2
text_input.dart
packages/flutter/lib/src/services/text_input.dart
+1
-4
framework.dart
packages/flutter/lib/src/widgets/framework.dart
+8
-8
find.dart
packages/flutter_driver/lib/src/common/find.dart
+1
-1
geometry.dart
packages/flutter_driver/lib/src/common/geometry.dart
+1
-1
timeline_summary.dart
packages/flutter_driver/lib/src/driver/timeline_summary.dart
+2
-2
cupertino_localizations.dart
...lutter_localizations/lib/src/cupertino_localizations.dart
+1
-2
material_localizations.dart
...flutter_localizations/lib/src/material_localizations.dart
+2
-3
widgets_localizations.dart
.../flutter_localizations/lib/src/widgets_localizations.dart
+1
-1
animation_sheet.dart
packages/flutter_test/lib/src/animation_sheet.dart
+1
-1
binding.dart
packages/flutter_test/lib/src/binding.dart
+4
-4
goldens.dart
packages/flutter_test/lib/src/goldens.dart
+1
-1
matchers.dart
packages/flutter_test/lib/src/matchers.dart
+2
-2
test_compat.dart
packages/flutter_test/lib/src/test_compat.dart
+8
-46
test_text_input.dart
packages/flutter_test/lib/src/test_text_input.dart
+1
-1
No files found.
dartdoc_options.yaml
View file @
f4e10b4f
...
@@ -13,9 +13,24 @@ dartdoc:
...
@@ -13,9 +13,24 @@ dartdoc:
command
:
[
"
dev/snippets/lib/main.dart"
,
"
--type=sample"
,
"
--dartpad"
]
command
:
[
"
dev/snippets/lib/main.dart"
,
"
--type=sample"
,
"
--dartpad"
]
description
:
"
Creates
full
application
sample
code
documentation
output
from
embedded
documentation
samples
and
displays
it
in
an
embedded
DartPad."
description
:
"
Creates
full
application
sample
code
documentation
output
from
embedded
documentation
samples
and
displays
it
in
an
embedded
DartPad."
errors
:
errors
:
-
tool-error
# enabled by default
# The following are always errors:
-
duplicate-file
# enabled by default
-
duplicate-file
-
invalid-parameter
# enabled by default
-
invalid-parameter
-
unresolved-export
# enabled by default
-
tool-error
-
unknown-macro
# a {@macro foo} reference cannot be resolved
-
unresolved-export
-
invalid-parameter
# an invalid parameter is passed to a {@foo x y} directive
# The following are elevated from warnings because we currently don't
# fail on warnings:
-
ambiguous-doc-reference
-
ambiguous-reexport
-
ignored-canonical-for
-
no-canonical-found
-
not-implemented
-
no-library-level-docs
-
category-order-gives-missing-package-name
-
reexported-private-api-across-packages
# - unresolved-doc-reference # Too many failures, needs clean-up
-
broken-link
-
unknown-macro
-
orphaned-file
-
unknown-file
-
missing-from-search-index
dev/tools/dartdoc.dart
View file @
f4e10b4f
...
@@ -144,12 +144,7 @@ Future<void> main(List<String> arguments) async {
...
@@ -144,12 +144,7 @@ Future<void> main(List<String> arguments) async {
'--footer-text'
,
'lib/footer.html'
,
'--footer-text'
,
'lib/footer.html'
,
'--allow-warnings-in-packages'
,
'--allow-warnings-in-packages'
,
<
String
>[
<
String
>[
'Flutter'
,
'flutter'
,
'flutter'
,
'platform_integration'
,
'flutter_test'
,
'flutter_driver'
,
'flutter_localizations'
,
].
join
(
','
),
].
join
(
','
),
'--exclude-packages'
,
'--exclude-packages'
,
<
String
>[
<
String
>[
...
...
packages/flutter/lib/src/gestures/binding.dart
View file @
f4e10b4f
...
@@ -229,11 +229,6 @@ mixin GestureBinding on BindingBase implements HitTestable, HitTestDispatcher, H
...
@@ -229,11 +229,6 @@ mixin GestureBinding on BindingBase implements HitTestable, HitTestDispatcher, H
/// Variant of [FlutterErrorDetails] with extra fields for the gesture
/// Variant of [FlutterErrorDetails] with extra fields for the gesture
/// library's binding's pointer event dispatcher ([GestureBinding.dispatchEvent]).
/// library's binding's pointer event dispatcher ([GestureBinding.dispatchEvent]).
///
/// See also:
///
/// * [FlutterErrorDetailsForPointerRouter], which is also used by the
/// gesture library.
class
FlutterErrorDetailsForPointerEventDispatcher
extends
FlutterErrorDetails
{
class
FlutterErrorDetailsForPointerEventDispatcher
extends
FlutterErrorDetails
{
/// Creates a [FlutterErrorDetailsForPointerEventDispatcher] object with the given
/// Creates a [FlutterErrorDetailsForPointerEventDispatcher] object with the given
/// arguments setting the object's properties.
/// arguments setting the object's properties.
...
...
packages/flutter/lib/src/painting/borders.dart
View file @
f4e10b4f
...
@@ -81,7 +81,7 @@ class BorderSide {
...
@@ -81,7 +81,7 @@ class BorderSide {
///
///
/// If one of the sides is zero-width with [BorderStyle.none], then the other
/// If one of the sides is zero-width with [BorderStyle.none], then the other
/// side is return as-is. If both of the sides are zero-width with
/// side is return as-is. If both of the sides are zero-width with
/// [BorderStyle.none], then [BorderSide.
zero
] is returned.
/// [BorderStyle.none], then [BorderSide.
none
] is returned.
///
///
/// The arguments must not be null.
/// The arguments must not be null.
static
BorderSide
merge
(
BorderSide
a
,
BorderSide
b
)
{
static
BorderSide
merge
(
BorderSide
a
,
BorderSide
b
)
{
...
...
packages/flutter/lib/src/painting/clip.dart
View file @
f4e10b4f
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
import
'dart:ui'
show
Canvas
,
Clip
,
Path
,
Paint
,
Rect
,
RRect
;
import
'dart:ui'
show
Canvas
,
Clip
,
Path
,
Paint
,
Rect
,
RRect
;
/// Clip utilities used by [PaintingContext]
and [TestRecordingPaintingContext]
.
/// Clip utilities used by [PaintingContext].
abstract
class
ClipContext
{
abstract
class
ClipContext
{
/// The canvas on which to paint.
/// The canvas on which to paint.
Canvas
get
canvas
;
Canvas
get
canvas
;
...
...
packages/flutter/lib/src/painting/debug.dart
View file @
f4e10b4f
...
@@ -34,12 +34,12 @@ HttpClientProvider debugNetworkImageHttpClientProvider;
...
@@ -34,12 +34,12 @@ HttpClientProvider debugNetworkImageHttpClientProvider;
typedef
PaintImageCallback
=
void
Function
(
ImageSizeInfo
);
typedef
PaintImageCallback
=
void
Function
(
ImageSizeInfo
);
/// Tracks the bytes used by a [
ui.Image] compared to the bytes needed to paint
/// Tracks the bytes used by a [
dart:ui.Image] compared to the bytes needed to
/// that image without scaling it.
///
paint
that image without scaling it.
@immutable
@immutable
class
ImageSizeInfo
{
class
ImageSizeInfo
{
/// Creates an object to track the backing size of a [
ui.Image] compared to
/// Creates an object to track the backing size of a [
dart:ui.Image] compared
/// its display size on a [Canvas].
///
to
its display size on a [Canvas].
///
///
/// This class is used by the framework when it paints an image to a canvas
/// This class is used by the framework when it paints an image to a canvas
/// to report to `dart:developer`'s [postEvent], as well as to the
/// to report to `dart:developer`'s [postEvent], as well as to the
...
...
packages/flutter/lib/src/painting/gradient.dart
View file @
f4e10b4f
...
@@ -661,7 +661,7 @@ class RadialGradient extends Gradient {
...
@@ -661,7 +661,7 @@ class RadialGradient extends Gradient {
///
///
/// For example, if a radial gradient is painted on a box that is
/// For example, if a radial gradient is painted on a box that is
/// 100.0 pixels wide and 200.0 pixels tall, then a radius of 1.0
/// 100.0 pixels wide and 200.0 pixels tall, then a radius of 1.0
/// will place the 1.0 stop at 100.0 pixels from the [foc
us]
.
/// will place the 1.0 stop at 100.0 pixels from the [foc
al] point
.
///
///
/// If this value is specified and is greater than 0.0, either [focal] or
/// If this value is specified and is greater than 0.0, either [focal] or
/// [center] must not resolve to [Offset.zero], which would fail to create
/// [center] must not resolve to [Offset.zero], which would fail to create
...
...
packages/flutter/lib/src/painting/image_provider.dart
View file @
f4e10b4f
...
@@ -637,7 +637,7 @@ abstract class AssetBundleImageProvider extends ImageProvider<AssetBundleImageKe
...
@@ -637,7 +637,7 @@ abstract class AssetBundleImageProvider extends ImageProvider<AssetBundleImageKe
const
AssetBundleImageProvider
();
const
AssetBundleImageProvider
();
/// Converts a key into an [ImageStreamCompleter], and begins fetching the
/// Converts a key into an [ImageStreamCompleter], and begins fetching the
/// image
using [loadAsync]
.
/// image.
@override
@override
ImageStreamCompleter
load
(
AssetBundleImageKey
key
,
DecoderCallback
decode
)
{
ImageStreamCompleter
load
(
AssetBundleImageKey
key
,
DecoderCallback
decode
)
{
InformationCollector
collector
;
InformationCollector
collector
;
...
@@ -802,8 +802,8 @@ class ResizeImage extends ImageProvider<_SizeAwareCacheKey> {
...
@@ -802,8 +802,8 @@ class ResizeImage extends ImageProvider<_SizeAwareCacheKey> {
///
///
/// The image will be cached regardless of cache headers from the server.
/// The image will be cached regardless of cache headers from the server.
///
///
/// When a network image is used on the Web platform, the
[cacheWidth]
and
/// When a network image is used on the Web platform, the
`cacheWidth`
and
///
[cacheHeight]
parameters of the [DecoderCallback] are ignored as the Web
///
`cacheHeight`
parameters of the [DecoderCallback] are ignored as the Web
/// engine delegates image decoding of network images to the Web, which does
/// engine delegates image decoding of network images to the Web, which does
/// not support custom decode sizes.
/// not support custom decode sizes.
///
///
...
@@ -977,7 +977,7 @@ class MemoryImage extends ImageProvider<MemoryImage> {
...
@@ -977,7 +977,7 @@ class MemoryImage extends ImageProvider<MemoryImage> {
///
///
/// When fetching an image provided by the app itself, use the [assetName]
/// When fetching an image provided by the app itself, use the [assetName]
/// argument to name the asset to choose. For instance, consider a directory
/// argument to name the asset to choose. For instance, consider a directory
/// `icons` with an image `heart.png`. First, the
[pubspec.yaml]
of the project
/// `icons` with an image `heart.png`. First, the
`pubspec.yaml`
of the project
/// should specify its assets in the `flutter` section:
/// should specify its assets in the `flutter` section:
///
///
/// ```yaml
/// ```yaml
...
@@ -1127,8 +1127,8 @@ class _ErrorImageCompleter extends ImageStreamCompleter {
...
@@ -1127,8 +1127,8 @@ class _ErrorImageCompleter extends ImageStreamCompleter {
/// The exception thrown when the HTTP request to load a network image fails.
/// The exception thrown when the HTTP request to load a network image fails.
class
NetworkImageLoadException
implements
Exception
{
class
NetworkImageLoadException
implements
Exception
{
/// Creates a [NetworkImageLoadException] with the specified http
status
/// Creates a [NetworkImageLoadException] with the specified http
[statusCode]
///
[code] and the [uri]
///
and [uri].
NetworkImageLoadException
({
@required
this
.
statusCode
,
@required
this
.
uri
})
NetworkImageLoadException
({
@required
this
.
statusCode
,
@required
this
.
uri
})
:
assert
(
uri
!=
null
),
:
assert
(
uri
!=
null
),
assert
(
statusCode
!=
null
),
assert
(
statusCode
!=
null
),
...
...
packages/flutter/lib/src/painting/image_stream.dart
View file @
f4e10b4f
...
@@ -213,8 +213,8 @@ class ImageChunkEvent with Diagnosticable {
...
@@ -213,8 +213,8 @@ class ImageChunkEvent with Diagnosticable {
///
///
/// The [ImageCache] will consider an image to be live until the listener count
/// The [ImageCache] will consider an image to be live until the listener count
/// drops to zero after adding at least one listener. The
/// drops to zero after adding at least one listener. The
/// [
addOnLastListenerRemovedCallback] method is used for tracking this
/// [
ImageStreamCompleter.addOnLastListenerRemovedCallback] method is used for
/// information.
///
tracking this
information.
///
///
/// See also:
/// See also:
///
///
...
...
packages/flutter/lib/src/painting/inline_span.dart
View file @
f4e10b4f
...
@@ -294,7 +294,7 @@ abstract class InlineSpan extends DiagnosticableTree {
...
@@ -294,7 +294,7 @@ abstract class InlineSpan extends DiagnosticableTree {
/// Returns the UTF-16 code unit at the given `index` in the flattened string.
/// Returns the UTF-16 code unit at the given `index` in the flattened string.
///
///
/// This only accounts for the [TextSpan.text] values and ignores [PlaceholderSpan
s]
.
/// This only accounts for the [TextSpan.text] values and ignores [PlaceholderSpan
]s
.
///
///
/// Returns null if the `index` is out of bounds.
/// Returns null if the `index` is out of bounds.
int
codeUnitAt
(
int
index
)
{
int
codeUnitAt
(
int
index
)
{
...
...
packages/flutter/lib/src/painting/text_painter.dart
View file @
f4e10b4f
...
@@ -54,9 +54,9 @@ class PlaceholderDimensions {
...
@@ -54,9 +54,9 @@ class PlaceholderDimensions {
/// See also:
/// See also:
///
///
/// * [baseline], the baseline to align to when using
/// * [baseline], the baseline to align to when using
/// [ui.PlaceholderAlignment.baseline],
/// [
dart:
ui.PlaceholderAlignment.baseline],
/// [ui.PlaceholderAlignment.aboveBaseline],
/// [
dart:
ui.PlaceholderAlignment.aboveBaseline],
/// or [
ui.PlaceholderAlignment.under
Baseline].
/// or [
dart:ui.PlaceholderAlignment.below
Baseline].
/// * [baselineOffset], the distance of the alphabetic baseline from the upper
/// * [baselineOffset], the distance of the alphabetic baseline from the upper
/// edge of the placeholder.
/// edge of the placeholder.
final
ui
.
PlaceholderAlignment
alignment
;
final
ui
.
PlaceholderAlignment
alignment
;
...
@@ -70,7 +70,7 @@ class PlaceholderDimensions {
...
@@ -70,7 +70,7 @@ class PlaceholderDimensions {
///
///
/// * [ui.PlaceholderAlignment.baseline]
/// * [ui.PlaceholderAlignment.baseline]
/// * [ui.PlaceholderAlignment.aboveBaseline]
/// * [ui.PlaceholderAlignment.aboveBaseline]
/// * [ui.PlaceholderAlignment.
under
Baseline]
/// * [ui.PlaceholderAlignment.
below
Baseline]
/// * [ui.PlaceholderAlignment.middle]
/// * [ui.PlaceholderAlignment.middle]
final
TextBaseline
baseline
;
final
TextBaseline
baseline
;
...
@@ -318,7 +318,7 @@ class TextPainter {
...
@@ -318,7 +318,7 @@ class TextPainter {
///
///
/// Omitting or providing null for any properties of [StrutStyle] will result in
/// Omitting or providing null for any properties of [StrutStyle] will result in
/// default values being used. It is highly recommended to at least specify a
/// default values being used. It is highly recommended to at least specify a
/// [fontSize].
/// [
StrutStyle.
fontSize].
///
///
/// See [StrutStyle] for details.
/// See [StrutStyle] for details.
/// {@endtemplate}
/// {@endtemplate}
...
...
packages/flutter/lib/src/painting/text_style.dart
View file @
f4e10b4f
...
@@ -285,7 +285,7 @@ const String _kColorBackgroundWarning = 'Cannot provide both a backgroundColor a
...
@@ -285,7 +285,7 @@ const String _kColorBackgroundWarning = 'Cannot provide both a backgroundColor a
/// ```
/// ```
/// {@end-tool}
/// {@end-tool}
///
///
/// To use a font family defined in a package, the
[package]
argument must be
/// To use a font family defined in a package, the
`package`
argument must be
/// provided. For instance, suppose the font declaration above is in the
/// provided. For instance, suppose the font declaration above is in the
/// `pubspec.yaml` of a package named `my_package` which the app depends on.
/// `pubspec.yaml` of a package named `my_package` which the app depends on.
/// Then creating the TextStyle is done as follows:
/// Then creating the TextStyle is done as follows:
...
...
packages/flutter/lib/src/rendering/binding.dart
View file @
f4e10b4f
...
@@ -384,8 +384,7 @@ mixin RendererBinding on BindingBase, ServicesBinding, SchedulerBinding, Gesture
...
@@ -384,8 +384,7 @@ mixin RendererBinding on BindingBase, ServicesBinding, SchedulerBinding, Gesture
/// sent to the GPU.
/// sent to the GPU.
///
///
/// 7. The semantics phase: All the dirty [RenderObject]s in the system have
/// 7. The semantics phase: All the dirty [RenderObject]s in the system have
/// their semantics updated (see [RenderObject.semanticsAnnotator]). This
/// their semantics updated. This generates the [SemanticsNode] tree. See
/// generates the [SemanticsNode] tree. See
/// [RenderObject.markNeedsSemanticsUpdate] for further details on marking an
/// [RenderObject.markNeedsSemanticsUpdate] for further details on marking an
/// object dirty for semantics.
/// object dirty for semantics.
///
///
...
...
packages/flutter/lib/src/scheduler/binding.dart
View file @
f4e10b4f
...
@@ -39,9 +39,9 @@ set timeDilation(double value) {
...
@@ -39,9 +39,9 @@ set timeDilation(double value) {
/// common time base.
/// common time base.
typedef
FrameCallback
=
void
Function
(
Duration
timeStamp
);
typedef
FrameCallback
=
void
Function
(
Duration
timeStamp
);
/// Signature for [Scheduler.scheduleTask] callbacks.
/// Signature for [Scheduler
Binding
.scheduleTask] callbacks.
///
///
/// The type argument `T` is the task's return value. Consider
[void]
if the
/// The type argument `T` is the task's return value. Consider
`void`
if the
/// task does not return a value.
/// task does not return a value.
typedef
TaskCallback
<
T
>
=
T
Function
();
typedef
TaskCallback
<
T
>
=
T
Function
();
...
@@ -138,14 +138,14 @@ class _FrameCallbackEntry {
...
@@ -138,14 +138,14 @@ class _FrameCallbackEntry {
/// to generate a frame.
/// to generate a frame.
enum
SchedulerPhase
{
enum
SchedulerPhase
{
/// No frame is being processed. Tasks (scheduled by
/// No frame is being processed. Tasks (scheduled by
/// [
Widgets
Binding.scheduleTask]), microtasks (scheduled by
/// [
Scheduler
Binding.scheduleTask]), microtasks (scheduled by
/// [scheduleMicrotask]), [Timer] callbacks, event handlers (e.g. from user
/// [scheduleMicrotask]), [Timer] callbacks, event handlers (e.g. from user
/// input), and other callbacks (e.g. from [Future]s, [Stream]s, and the like)
/// input), and other callbacks (e.g. from [Future]s, [Stream]s, and the like)
/// may be executing.
/// may be executing.
idle
,
idle
,
/// The transient callbacks (scheduled by
/// The transient callbacks (scheduled by
/// [
Widgets
Binding.scheduleFrameCallback]) are currently executing.
/// [
Scheduler
Binding.scheduleFrameCallback]) are currently executing.
///
///
/// Typically, these callbacks handle updating objects to new animation
/// Typically, these callbacks handle updating objects to new animation
/// states.
/// states.
...
@@ -161,14 +161,14 @@ enum SchedulerPhase {
...
@@ -161,14 +161,14 @@ enum SchedulerPhase {
midFrameMicrotasks
,
midFrameMicrotasks
,
/// The persistent callbacks (scheduled by
/// The persistent callbacks (scheduled by
/// [
Widgets
Binding.addPersistentFrameCallback]) are currently executing.
/// [
Scheduler
Binding.addPersistentFrameCallback]) are currently executing.
///
///
/// Typically, this is the build/layout/paint pipeline. See
/// Typically, this is the build/layout/paint pipeline. See
/// [WidgetsBinding.drawFrame] and [SchedulerBinding.handleDrawFrame].
/// [WidgetsBinding.drawFrame] and [SchedulerBinding.handleDrawFrame].
persistentCallbacks
,
persistentCallbacks
,
/// The post-frame callbacks (scheduled by
/// The post-frame callbacks (scheduled by
/// [
Widgets
Binding.addPostFrameCallback]) are currently executing.
/// [
Scheduler
Binding.addPostFrameCallback]) are currently executing.
///
///
/// Typically, these callbacks handle cleanup and scheduling of work for the
/// Typically, these callbacks handle cleanup and scheduling of work for the
/// next frame.
/// next frame.
...
@@ -806,7 +806,7 @@ mixin SchedulerBinding on BindingBase {
...
@@ -806,7 +806,7 @@ mixin SchedulerBinding on BindingBase {
/// schedules a frame, set [debugPrintScheduleFrameStacks] to true.
/// schedules a frame, set [debugPrintScheduleFrameStacks] to true.
///
///
/// Prefer using [scheduleFrame] unless it is imperative that a frame be
/// Prefer using [scheduleFrame] unless it is imperative that a frame be
/// scheduled immediately, since using [scheduleForceFrame] will cause
/// scheduled immediately, since using [scheduleForce
d
Frame] will cause
/// significantly higher battery usage when the device should be idle.
/// significantly higher battery usage when the device should be idle.
///
///
/// Consider using [scheduleWarmUpFrame] instead if the goal is to update the
/// Consider using [scheduleWarmUpFrame] instead if the goal is to update the
...
...
packages/flutter/lib/src/scheduler/ticker.dart
View file @
f4e10b4f
...
@@ -105,9 +105,9 @@ class Ticker {
...
@@ -105,9 +105,9 @@ class Ticker {
/// ticking. In that case, the ticker will not call its callback, and
/// ticking. In that case, the ticker will not call its callback, and
/// [isTicking] will be false, but time will still be progressing.
/// [isTicking] will be false, but time will still be progressing.
///
///
/// This will return false if the [Scheduler
.lifecycleState] is one that
/// This will return false if the [Scheduler
Binding.lifecycleState] is one
///
indicates the application is not currently visible (e.g. if the device's
///
that indicates the application is not currently visible (e.g. if the
/// screen is turned off).
///
device's
screen is turned off).
bool
get
isTicking
{
bool
get
isTicking
{
if
(
_future
==
null
)
if
(
_future
==
null
)
return
false
;
return
false
;
...
...
packages/flutter/lib/src/semantics/binding.dart
View file @
f4e10b4f
...
@@ -50,7 +50,8 @@ mixin SemanticsBinding on BindingBase {
...
@@ -50,7 +50,8 @@ mixin SemanticsBinding on BindingBase {
/// a flag is changed.
/// a flag is changed.
///
///
/// To listen to changes to accessibility features, create a
/// To listen to changes to accessibility features, create a
/// [WidgetsBindingObserver] and listen to [didChangeAccessibilityFeatures].
/// [WidgetsBindingObserver] and listen to
/// [WidgetsBindingObserver.didChangeAccessibilityFeatures].
ui
.
AccessibilityFeatures
get
accessibilityFeatures
=>
_accessibilityFeatures
;
ui
.
AccessibilityFeatures
get
accessibilityFeatures
=>
_accessibilityFeatures
;
ui
.
AccessibilityFeatures
_accessibilityFeatures
;
ui
.
AccessibilityFeatures
_accessibilityFeatures
;
...
...
packages/flutter/lib/src/semantics/semantics.dart
View file @
f4e10b4f
...
@@ -763,8 +763,9 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -763,8 +763,9 @@ class SemanticsProperties extends DiagnosticableTree {
/// If non-null, whether the node corresponds to the root of a subtree for
/// If non-null, whether the node corresponds to the root of a subtree for
/// which a route name should be announced.
/// which a route name should be announced.
///
///
/// Generally, this is set in combination with [explicitChildNodes], since
/// Generally, this is set in combination with
/// nodes with this flag are not considered focusable by Android or iOS.
/// [SemanticsConfiguration.explicitChildNodes], since nodes with this flag
/// are not considered focusable by Android or iOS.
///
///
/// See also:
/// See also:
///
///
...
@@ -783,7 +784,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -783,7 +784,7 @@ class SemanticsProperties extends DiagnosticableTree {
///
///
/// See also:
/// See also:
///
///
/// * [SemanticsFlag.image], for the flag this setting controls.
/// * [SemanticsFlag.i
sI
mage], for the flag this setting controls.
final
bool
image
;
final
bool
image
;
/// If non-null, whether the node should be considered a live region.
/// If non-null, whether the node should be considered a live region.
...
@@ -796,14 +797,14 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -796,14 +797,14 @@ class SemanticsProperties extends DiagnosticableTree {
/// On iOS, no announcements are made but the node is marked as
/// On iOS, no announcements are made but the node is marked as
/// `UIAccessibilityTraitUpdatesFrequently`.
/// `UIAccessibilityTraitUpdatesFrequently`.
///
///
/// An example of a live region is the [Snack
b
ar] widget. When it appears
/// An example of a live region is the [Snack
B
ar] widget. When it appears
/// on the screen it may be difficult to focus to read the label. A live
/// on the screen it may be difficult to focus to read the label. A live
/// region causes an initial polite announcement to be generated
/// region causes an initial polite announcement to be generated
/// automatically.
/// automatically.
///
///
/// See also:
/// See also:
///
///
/// * [SemanticsFlag.
l
iveRegion], the semantics flag this setting controls.
/// * [SemanticsFlag.
isL
iveRegion], the semantics flag this setting controls.
/// * [SemanticsConfiguration.liveRegion], for a full description of a live region.
/// * [SemanticsConfiguration.liveRegion], for a full description of a live region.
final
bool
liveRegion
;
final
bool
liveRegion
;
...
@@ -1034,7 +1035,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -1034,7 +1035,7 @@ class SemanticsProperties extends DiagnosticableTree {
/// menu of a text field, for example.
/// menu of a text field, for example.
final
VoidCallback
onPaste
;
final
VoidCallback
onPaste
;
/// The handler for [SemanticsAction.
onM
oveCursorForwardByCharacter].
/// The handler for [SemanticsAction.
m
oveCursorForwardByCharacter].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field forward by one character.
/// text field forward by one character.
...
@@ -1043,7 +1044,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -1043,7 +1044,7 @@ class SemanticsProperties extends DiagnosticableTree {
/// input focus is in a text field.
/// input focus is in a text field.
final
MoveCursorHandler
onMoveCursorForwardByCharacter
;
final
MoveCursorHandler
onMoveCursorForwardByCharacter
;
/// The handler for [SemanticsAction.
onM
oveCursorBackwardByCharacter].
/// The handler for [SemanticsAction.
m
oveCursorBackwardByCharacter].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one character.
/// text field backward by one character.
...
@@ -1052,7 +1053,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -1052,7 +1053,7 @@ class SemanticsProperties extends DiagnosticableTree {
/// input focus is in a text field.
/// input focus is in a text field.
final
MoveCursorHandler
onMoveCursorBackwardByCharacter
;
final
MoveCursorHandler
onMoveCursorBackwardByCharacter
;
/// The handler for [SemanticsAction.
onM
oveCursorForwardByWord].
/// The handler for [SemanticsAction.
m
oveCursorForwardByWord].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one word.
/// text field backward by one word.
...
@@ -1061,7 +1062,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -1061,7 +1062,7 @@ class SemanticsProperties extends DiagnosticableTree {
/// input focus is in a text field.
/// input focus is in a text field.
final
MoveCursorHandler
onMoveCursorForwardByWord
;
final
MoveCursorHandler
onMoveCursorForwardByWord
;
/// The handler for [SemanticsAction.
onM
oveCursorBackwardByWord].
/// The handler for [SemanticsAction.
m
oveCursorBackwardByWord].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one word.
/// text field backward by one word.
...
@@ -1129,7 +1130,7 @@ class SemanticsProperties extends DiagnosticableTree {
...
@@ -1129,7 +1130,7 @@ class SemanticsProperties extends DiagnosticableTree {
/// A map from each supported [CustomSemanticsAction] to a provided handler.
/// A map from each supported [CustomSemanticsAction] to a provided handler.
///
///
/// The handler associated with each custom action is called whenever a
/// The handler associated with each custom action is called whenever a
/// semantics
event of type [SemanticsEvent.customEvent
] is received. The
/// semantics
action of type [SemanticsAction.customAction
] is received. The
/// provided argument will be an identifier used to retrieve an instance of
/// provided argument will be an identifier used to retrieve an instance of
/// a custom action which can then retrieve the correct handler from this map.
/// a custom action which can then retrieve the correct handler from this map.
///
///
...
@@ -1284,7 +1285,7 @@ class SemanticsNode extends AbstractNode with DiagnosticableTreeMixin {
...
@@ -1284,7 +1285,7 @@ class SemanticsNode extends AbstractNode with DiagnosticableTreeMixin {
///
///
/// The [elevation] property is relative to the elevation of the parent
/// The [elevation] property is relative to the elevation of the parent
/// [SemanticsNode]. However, as [SemanticsConfiguration]s from various
/// [SemanticsNode]. However, as [SemanticsConfiguration]s from various
/// ascending [RenderObject
s]
are merged into each other to form that
/// ascending [RenderObject
]s
are merged into each other to form that
/// [SemanticsNode] the parent’s elevation may change. This requires an
/// [SemanticsNode] the parent’s elevation may change. This requires an
/// adjustment of the child’s relative elevation which is represented by this
/// adjustment of the child’s relative elevation which is represented by this
/// value.
/// value.
...
@@ -2157,12 +2158,6 @@ class SemanticsNode extends AbstractNode with DiagnosticableTreeMixin {
...
@@ -2157,12 +2158,6 @@ class SemanticsNode extends AbstractNode with DiagnosticableTreeMixin {
///
///
/// Semantics events should be sent to inform interested parties (like
/// Semantics events should be sent to inform interested parties (like
/// the accessibility system of the operating system) about changes to the UI.
/// the accessibility system of the operating system) about changes to the UI.
///
/// For example, if this semantics node represents a scrollable list, a
/// [ScrollCompletedSemanticsEvent] should be sent after a scroll action is completed.
/// That way, the operating system can give additional feedback to the user
/// about the state of the UI (e.g. on Android a ping sound is played to
/// indicate a successful scroll in accessibility mode).
void
sendEvent
(
SemanticsEvent
event
)
{
void
sendEvent
(
SemanticsEvent
event
)
{
if
(!
attached
)
if
(!
attached
)
return
;
return
;
...
@@ -2765,7 +2760,7 @@ class SemanticsConfiguration {
...
@@ -2765,7 +2760,7 @@ class SemanticsConfiguration {
/// information to the [SemanticsNode] introduced by this configuration
/// information to the [SemanticsNode] introduced by this configuration
/// is controlled by [explicitChildNodes].
/// is controlled by [explicitChildNodes].
///
///
/// This has to be true if [isMerging
DescendantsIntoOneNode
] is also true.
/// This has to be true if [isMerging
SemanticsOfDescendants
] is also true.
bool
get
isSemanticBoundary
=>
_isSemanticBoundary
;
bool
get
isSemanticBoundary
=>
_isSemanticBoundary
;
bool
_isSemanticBoundary
=
false
;
bool
_isSemanticBoundary
=
false
;
set
isSemanticBoundary
(
bool
value
)
{
set
isSemanticBoundary
(
bool
value
)
{
...
@@ -3070,7 +3065,7 @@ class SemanticsConfiguration {
...
@@ -3070,7 +3065,7 @@ class SemanticsConfiguration {
_onShowOnScreen
=
value
;
_onShowOnScreen
=
value
;
}
}
/// The handler for [SemanticsAction.
onM
oveCursorForwardByCharacter].
/// The handler for [SemanticsAction.
m
oveCursorForwardByCharacter].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field forward by one character.
/// text field forward by one character.
...
@@ -3089,7 +3084,7 @@ class SemanticsConfiguration {
...
@@ -3089,7 +3084,7 @@ class SemanticsConfiguration {
_onMoveCursorForwardByCharacter
=
value
;
_onMoveCursorForwardByCharacter
=
value
;
}
}
/// The handler for [SemanticsAction.
onM
oveCursorBackwardByCharacter].
/// The handler for [SemanticsAction.
m
oveCursorBackwardByCharacter].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one character.
/// text field backward by one character.
...
@@ -3108,7 +3103,7 @@ class SemanticsConfiguration {
...
@@ -3108,7 +3103,7 @@ class SemanticsConfiguration {
_onMoveCursorBackwardByCharacter
=
value
;
_onMoveCursorBackwardByCharacter
=
value
;
}
}
/// The handler for [SemanticsAction.
onM
oveCursorForwardByWord].
/// The handler for [SemanticsAction.
m
oveCursorForwardByWord].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one word.
/// text field backward by one word.
...
@@ -3127,7 +3122,7 @@ class SemanticsConfiguration {
...
@@ -3127,7 +3122,7 @@ class SemanticsConfiguration {
_onMoveCursorForwardByCharacter
=
value
;
_onMoveCursorForwardByCharacter
=
value
;
}
}
/// The handler for [SemanticsAction.
onM
oveCursorBackwardByWord].
/// The handler for [SemanticsAction.
m
oveCursorBackwardByWord].
///
///
/// This handler is invoked when the user wants to move the cursor in a
/// This handler is invoked when the user wants to move the cursor in a
/// text field backward by one word.
/// text field backward by one word.
...
@@ -3219,10 +3214,6 @@ class SemanticsConfiguration {
...
@@ -3219,10 +3214,6 @@ class SemanticsConfiguration {
/// Returns the action handler registered for [action] or null if none was
/// Returns the action handler registered for [action] or null if none was
/// registered.
/// registered.
///
/// See also:
///
/// * [addAction] to add an action.
_SemanticsActionHandler
getActionHandler
(
SemanticsAction
action
)
=>
_actions
[
action
];
_SemanticsActionHandler
getActionHandler
(
SemanticsAction
action
)
=>
_actions
[
action
];
/// Determines the position of this node among its siblings in the traversal
/// Determines the position of this node among its siblings in the traversal
...
@@ -3345,7 +3336,7 @@ class SemanticsConfiguration {
...
@@ -3345,7 +3336,7 @@ class SemanticsConfiguration {
/// The handlers for each supported [CustomSemanticsAction].
/// The handlers for each supported [CustomSemanticsAction].
///
///
/// Whenever a custom accessibility action is added to a node, the action
/// Whenever a custom accessibility action is added to a node, the action
/// [SemanticAction.customAction] is automatically added. A handler is
/// [Semantic
s
Action.customAction] is automatically added. A handler is
/// created which uses the passed argument to lookup the custom action
/// created which uses the passed argument to lookup the custom action
/// handler from this map and invoke it, if present.
/// handler from this map and invoke it, if present.
Map
<
CustomSemanticsAction
,
VoidCallback
>
get
customSemanticsActions
=>
_customSemanticsActions
;
Map
<
CustomSemanticsAction
,
VoidCallback
>
get
customSemanticsActions
=>
_customSemanticsActions
;
...
@@ -3526,7 +3517,7 @@ class SemanticsConfiguration {
...
@@ -3526,7 +3517,7 @@ class SemanticsConfiguration {
/// announcement occurs even if the node is not focused, but only if the label
/// announcement occurs even if the node is not focused, but only if the label
/// has changed since the last update.
/// has changed since the last update.
///
///
/// An example of a live region is the [Snack
b
ar] widget. When it appears
/// An example of a live region is the [Snack
B
ar] widget. When it appears
/// on the screen it may be difficult to focus to read the label. A live
/// on the screen it may be difficult to focus to read the label. A live
/// region causes an initial polite announcement to be generated
/// region causes an initial polite announcement to be generated
/// automatically.
/// automatically.
...
@@ -3686,7 +3677,7 @@ class SemanticsConfiguration {
...
@@ -3686,7 +3677,7 @@ class SemanticsConfiguration {
/// Whether the [value] should be obscured.
/// Whether the [value] should be obscured.
///
///
/// This option is usually set in combination with [
t
extField] to indicate
/// This option is usually set in combination with [
isT
extField] to indicate
/// that the text field contains a password (or other sensitive information).
/// that the text field contains a password (or other sensitive information).
/// Doing so instructs screen readers to not read out the [value].
/// Doing so instructs screen readers to not read out the [value].
bool
get
isObscured
=>
_hasFlag
(
SemanticsFlag
.
isObscured
);
bool
get
isObscured
=>
_hasFlag
(
SemanticsFlag
.
isObscured
);
...
@@ -3696,7 +3687,7 @@ class SemanticsConfiguration {
...
@@ -3696,7 +3687,7 @@ class SemanticsConfiguration {
/// Whether the text field is multiline.
/// Whether the text field is multiline.
///
///
/// This option is usually set in combination with [
t
extField] to indicate
/// This option is usually set in combination with [
isT
extField] to indicate
/// that the text field is configured to be multiline.
/// that the text field is configured to be multiline.
bool
get
isMultiline
=>
_hasFlag
(
SemanticsFlag
.
isMultiline
);
bool
get
isMultiline
=>
_hasFlag
(
SemanticsFlag
.
isMultiline
);
set
isMultiline
(
bool
value
)
{
set
isMultiline
(
bool
value
)
{
...
@@ -3800,7 +3791,7 @@ class SemanticsConfiguration {
...
@@ -3800,7 +3791,7 @@ class SemanticsConfiguration {
///
///
/// See also:
/// See also:
///
///
/// * [Render
SemanticsGestureHandler
.excludeFromScrolling] for an example of
/// * [Render
Viewport
.excludeFromScrolling] for an example of
/// how tags are used.
/// how tags are used.
void
addTagForChildren
(
SemanticsTag
tag
)
{
void
addTagForChildren
(
SemanticsTag
tag
)
{
_tagsForChildren
??=
<
SemanticsTag
>{};
_tagsForChildren
??=
<
SemanticsTag
>{};
...
...
packages/flutter/lib/src/semantics/semantics_event.dart
View file @
f4e10b4f
...
@@ -149,7 +149,7 @@ class TapSemanticEvent extends SemanticsEvent {
...
@@ -149,7 +149,7 @@ class TapSemanticEvent extends SemanticsEvent {
///
///
/// See also:
/// See also:
///
///
/// * [SemanticsFlag.
l
iveRegion], for a description of live regions.
/// * [SemanticsFlag.
isL
iveRegion], for a description of live regions.
///
///
@Deprecated
(
@Deprecated
(
'This event has never been implemented and will be removed in a future version of Flutter. References to it should be removed. '
'This event has never been implemented and will be removed in a future version of Flutter. References to it should be removed. '
...
...
packages/flutter/lib/src/services/autofill.dart
View file @
f4e10b4f
...
@@ -722,8 +722,8 @@ abstract class AutofillClient {
...
@@ -722,8 +722,8 @@ abstract class AutofillClient {
/// [TextInputConfiguration.autofillConfiguration] must not be null.
/// [TextInputConfiguration.autofillConfiguration] must not be null.
TextInputConfiguration
get
textInputConfiguration
;
TextInputConfiguration
get
textInputConfiguration
;
/// Requests this [AutofillClient] update its [TextEditing
Stat
e] to the given
/// Requests this [AutofillClient] update its [TextEditing
Valu
e] to the given
///
stat
e.
///
valu
e.
void
updateEditingValue
(
TextEditingValue
newEditingValue
);
void
updateEditingValue
(
TextEditingValue
newEditingValue
);
}
}
...
...
packages/flutter/lib/src/services/binding.dart
View file @
f4e10b4f
...
@@ -167,13 +167,14 @@ mixin ServicesBinding on BindingBase, SchedulerBinding {
...
@@ -167,13 +167,14 @@ mixin ServicesBinding on BindingBase, SchedulerBinding {
// App life cycle
// App life cycle
/// Initializes the [lifecycleState] with the [
initialLifecycleState] from the
/// Initializes the [lifecycleState] with the [
Window.initialLifecycleState]
/// window.
///
from the
window.
///
///
/// Once the [lifecycleState] is populated through any means (including this
/// Once the [lifecycleState] is populated through any means (including this
/// method), this method will do nothing. This is because the
/// method), this method will do nothing. This is because the
/// [initialLifecycleState] may already be stale and it no longer makes sense
/// [Window.initialLifecycleState] may already be stale and it no longer makes
/// to use the initial state at dart vm startup as the current state anymore.
/// sense to use the initial state at dart vm startup as the current state
/// anymore.
///
///
/// The latest state should be obtained by subscribing to
/// The latest state should be obtained by subscribing to
/// [WidgetsBindingObserver.didChangeAppLifecycleState].
/// [WidgetsBindingObserver.didChangeAppLifecycleState].
...
...
packages/flutter/lib/src/services/platform_views.dart
View file @
f4e10b4f
...
@@ -14,6 +14,12 @@ import 'package:flutter/gestures.dart';
...
@@ -14,6 +14,12 @@ import 'package:flutter/gestures.dart';
import
'message_codec.dart'
;
import
'message_codec.dart'
;
import
'system_channels.dart'
;
import
'system_channels.dart'
;
/// Converts a given point from the global coordinate system in logical pixels
/// to the local coordinate system for a box.
///
/// Used by [AndroidViewController.pointTransformer].
typedef
PointTransformer
=
Offset
Function
(
Offset
position
);
/// The [PlatformViewsRegistry] responsible for generating unique identifiers for platform views.
/// The [PlatformViewsRegistry] responsible for generating unique identifiers for platform views.
final
PlatformViewsRegistry
platformViewsRegistry
=
PlatformViewsRegistry
.
_instance
();
final
PlatformViewsRegistry
platformViewsRegistry
=
PlatformViewsRegistry
.
_instance
();
...
@@ -33,7 +39,7 @@ class PlatformViewsRegistry {
...
@@ -33,7 +39,7 @@ class PlatformViewsRegistry {
/// A platform view identifier can refer to a platform view that was never created,
/// A platform view identifier can refer to a platform view that was never created,
/// a platform view that was disposed, or a platform view that is alive.
/// a platform view that was disposed, or a platform view that is alive.
///
///
/// Typically a platform view identifier is passed to a
[PlatformView]
widget
/// Typically a platform view identifier is passed to a
platform view
widget
/// which creates the platform view and manages its lifecycle.
/// which creates the platform view and manages its lifecycle.
int
getNextPlatformViewId
()
=>
_nextPlatformViewId
++;
int
getNextPlatformViewId
()
=>
_nextPlatformViewId
++;
}
}
...
@@ -497,9 +503,9 @@ class _AndroidMotionEventConverter {
...
@@ -497,9 +503,9 @@ class _AndroidMotionEventConverter {
<
int
,
AndroidPointerProperties
>{};
<
int
,
AndroidPointerProperties
>{};
final
Set
<
int
>
usedAndroidPointerIds
=
<
int
>{};
final
Set
<
int
>
usedAndroidPointerIds
=
<
int
>{};
Offset
Function
(
Offset
position
)
_pointTransformer
;
PointTransformer
_pointTransformer
;
set
pointTransformer
(
Offset
Function
(
Offset
position
)
transformer
)
{
set
pointTransformer
(
PointTransformer
transformer
)
{
assert
(
transformer
!=
null
);
assert
(
transformer
!=
null
);
_pointTransformer
=
transformer
;
_pointTransformer
=
transformer
;
}
}
...
@@ -797,7 +803,7 @@ abstract class AndroidViewController extends PlatformViewController {
...
@@ -797,7 +803,7 @@ abstract class AndroidViewController extends PlatformViewController {
///
///
/// This is required to convert a [PointerEvent] to an [AndroidMotionEvent].
/// This is required to convert a [PointerEvent] to an [AndroidMotionEvent].
/// It is typically provided by using [RenderBox.globalToLocal].
/// It is typically provided by using [RenderBox.globalToLocal].
set
pointTransformer
(
Offset
Function
(
Offset
position
)
transformer
)
{
set
pointTransformer
(
PointTransformer
transformer
)
{
assert
(
transformer
!=
null
);
assert
(
transformer
!=
null
);
_motionEventConverter
.
_pointTransformer
=
transformer
;
_motionEventConverter
.
_pointTransformer
=
transformer
;
}
}
...
@@ -1135,7 +1141,7 @@ abstract class PlatformViewController {
...
@@ -1135,7 +1141,7 @@ abstract class PlatformViewController {
///
///
/// See also:
/// See also:
///
///
/// * [PlatformViewRegistry], which is a helper for managing platform view ids.
/// * [PlatformView
s
Registry], which is a helper for managing platform view ids.
int
get
viewId
;
int
get
viewId
;
/// Dispatches the `event` to the platform view.
/// Dispatches the `event` to the platform view.
...
...
packages/flutter/lib/src/services/raw_keyboard_linux.dart
View file @
f4e10b4f
...
@@ -13,7 +13,7 @@ import 'raw_keyboard.dart';
...
@@ -13,7 +13,7 @@ import 'raw_keyboard.dart';
/// Platform-specific key event data for Linux.
/// Platform-specific key event data for Linux.
///
///
/// Different window toolkit implementations can map to different key codes. This class
/// Different window toolkit implementations can map to different key codes. This class
/// will use the correct mapping depending on the [
toolkit
] provided.
/// will use the correct mapping depending on the [
keyHelper
] provided.
///
///
/// See also:
/// See also:
///
///
...
@@ -21,7 +21,7 @@ import 'raw_keyboard.dart';
...
@@ -21,7 +21,7 @@ import 'raw_keyboard.dart';
class
RawKeyEventDataLinux
extends
RawKeyEventData
{
class
RawKeyEventDataLinux
extends
RawKeyEventData
{
/// Creates a key event data structure specific for Linux.
/// Creates a key event data structure specific for Linux.
///
///
/// The [
toolkit
], [scanCode], [unicodeScalarValues], [keyCode], and [modifiers],
/// The [
keyHelper
], [scanCode], [unicodeScalarValues], [keyCode], and [modifiers],
/// arguments must not be null.
/// arguments must not be null.
const
RawKeyEventDataLinux
({
const
RawKeyEventDataLinux
({
@required
this
.
keyHelper
,
@required
this
.
keyHelper
,
...
@@ -169,44 +169,45 @@ abstract class KeyHelper {
...
@@ -169,44 +169,45 @@ abstract class KeyHelper {
/// Helper class that uses GLFW-specific key mappings.
/// Helper class that uses GLFW-specific key mappings.
class
GLFWKeyHelper
with
KeyHelper
{
class
GLFWKeyHelper
with
KeyHelper
{
/// This mask is used to check the [
modifiers] field to test whether the CAPS
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// LOCK modifier key is on.
///
test whether the CAPS
LOCK modifier key is on.
///
///
/// {@template flutter.services.glfwKeyHelper.modifiers}
/// {@template flutter.services.glfwKeyHelper.modifiers}
/// Use this value if you need to decode the [modifiers] field yourself, but
/// Use this value if you need to decode the [RawKeyEventDataLinux.modifiers]
/// it's much easier to use [isModifierPressed] if you just want to know if a
/// field yourself, but it's much easier to use [isModifierPressed] if you
/// modifier is pressed. This is especially true on GLFW, since its modifiers
/// just want to know if a modifier is pressed. This is especially true on
/// don't include the effects of the current key event.
/// GLFW, since its modifiers don't include the effects of the current key
/// event.
/// {@endtemplate}
/// {@endtemplate}
static
const
int
modifierCapsLock
=
0x0010
;
static
const
int
modifierCapsLock
=
0x0010
;
/// This mask is used to check the [
modifiers] field to test whether one of the
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// SHIFT modifier keys is pressed.
///
test whether one of the
SHIFT modifier keys is pressed.
///
///
/// {@macro flutter.services.glfwKeyHelper.modifiers}
/// {@macro flutter.services.glfwKeyHelper.modifiers}
static
const
int
modifierShift
=
0x0001
;
static
const
int
modifierShift
=
0x0001
;
/// This mask is used to check the [
modifiers] field to test whether one of the
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// CTRL modifier keys is pressed.
///
test whether one of the
CTRL modifier keys is pressed.
///
///
/// {@macro flutter.services.glfwKeyHelper.modifiers}
/// {@macro flutter.services.glfwKeyHelper.modifiers}
static
const
int
modifierControl
=
0x0002
;
static
const
int
modifierControl
=
0x0002
;
/// This mask is used to check the [
modifiers] field to test whether one of the
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// ALT modifier keys is pressed.
///
test whether one of the
ALT modifier keys is pressed.
///
///
/// {@macro flutter.services.glfwKeyHelper.modifiers}
/// {@macro flutter.services.glfwKeyHelper.modifiers}
static
const
int
modifierAlt
=
0x0004
;
static
const
int
modifierAlt
=
0x0004
;
/// This mask is used to check the [
modifiers] field to test whether one of the
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// Meta(SUPER) modifier keys is pressed.
///
test whether one of the
Meta(SUPER) modifier keys is pressed.
///
///
/// {@macro flutter.services.glfwKeyHelper.modifiers}
/// {@macro flutter.services.glfwKeyHelper.modifiers}
static
const
int
modifierMeta
=
0x0008
;
static
const
int
modifierMeta
=
0x0008
;
/// This mask is used to check the [
modifiers] field to test whether any key in
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// the numeric keypad is pressed.
/// t
est whether any key in t
he numeric keypad is pressed.
///
///
/// {@macro flutter.services.glfwKeyHelper.modifiers}
/// {@macro flutter.services.glfwKeyHelper.modifiers}
static
const
int
modifierNumericPad
=
0x0020
;
static
const
int
modifierNumericPad
=
0x0020
;
...
@@ -319,39 +320,45 @@ class GLFWKeyHelper with KeyHelper {
...
@@ -319,39 +320,45 @@ class GLFWKeyHelper with KeyHelper {
/// Helper class that uses GTK-specific key mappings.
/// Helper class that uses GTK-specific key mappings.
class
GtkKeyHelper
with
KeyHelper
{
class
GtkKeyHelper
with
KeyHelper
{
/// This mask is used to check the [
modifiers] field to test whether one of the
/// This mask is used to check the [
RawKeyEventDataLinux.modifiers] field to
/// SHIFT modifier keys is pressed.
///
test whether one of the
SHIFT modifier keys is pressed.
///
///
/// {@template flutter.services.gtkKeyHelper.modifiers}
/// {@template flutter.services.gtkKeyHelper.modifiers}
/// Use this value if you need to decode the [modifiers] field yourself, but
/// Use this value if you need to decode the [
RawKeyEventDataLinux.
modifiers] field yourself, but
/// it's much easier to use [isModifierPressed] if you just want to know if a
/// it's much easier to use [isModifierPressed] if you just want to know if a
/// modifier is pressed. This is especially true on GTK, since its modifiers
/// modifier is pressed. This is especially true on GTK, since its modifiers
/// don't include the effects of the current key event.
/// don't include the effects of the current key event.
/// {@endtemplate}
/// {@endtemplate}
static
const
int
modifierShift
=
1
<<
0
;
static
const
int
modifierShift
=
1
<<
0
;
/// This mask is used to check the [modifiers] field to test whether the CAPS
/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// LOCK modifier key is on.
/// test whether the CAPS LOCK modifier key is on.
///
/// {@macro flutter.services.gtkKeyHelper.modifiers}
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierCapsLock
=
1
<<
1
;
static
const
int
modifierCapsLock
=
1
<<
1
;
/// This mask is used to check the [modifiers] field to test whether one of the
/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// CTRL modifier keys is pressed.
/// test whether one of the CTRL modifier keys is pressed.
///
/// {@macro flutter.services.gtkKeyHelper.modifiers}
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierControl
=
1
<<
2
;
static
const
int
modifierControl
=
1
<<
2
;
/// This mask is used to check the [modifiers] field to test whether the first
/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// modifier key is pressed (usually mapped to alt).
/// test whether the first modifier key is pressed (usually mapped to alt).
///
/// {@macro flutter.services.gtkKeyHelper.modifiers}
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMod1
=
1
<<
3
;
static
const
int
modifierMod1
=
1
<<
3
;
/// This mask is used to check the [modifiers] field to test whether the second
/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// modifier key is pressed (assumed to be mapped to num lock).
/// test whether the second modifier key is pressed (assumed to be mapped to
/// num lock).
///
/// {@macro flutter.services.gtkKeyHelper.modifiers}
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMod2
=
1
<<
4
;
static
const
int
modifierMod2
=
1
<<
4
;
/// This mask is used to check the [modifiers] field to test whether one of the
/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// Meta(SUPER) modifier keys is pressed.
/// test whether one of the Meta(SUPER) modifier keys is pressed.
///
/// {@macro flutter.services.gtkKeyHelper.modifiers}
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMeta
=
1
<<
28
;
static
const
int
modifierMeta
=
1
<<
28
;
...
...
packages/flutter/lib/src/services/raw_keyboard_web.dart
View file @
f4e10b4f
...
@@ -19,7 +19,7 @@ import 'raw_keyboard.dart';
...
@@ -19,7 +19,7 @@ import 'raw_keyboard.dart';
class
RawKeyEventDataWeb
extends
RawKeyEventData
{
class
RawKeyEventDataWeb
extends
RawKeyEventData
{
/// Creates a key event data structure specific for Web.
/// Creates a key event data structure specific for Web.
///
///
/// The [
keyC
ode] and [metaState] arguments must not be null.
/// The [
c
ode] and [metaState] arguments must not be null.
const
RawKeyEventDataWeb
({
const
RawKeyEventDataWeb
({
@required
this
.
code
,
@required
this
.
code
,
@required
this
.
key
,
@required
this
.
key
,
...
...
packages/flutter/lib/src/services/system_channels.dart
View file @
f4e10b4f
...
@@ -131,7 +131,7 @@ class SystemChannels {
...
@@ -131,7 +131,7 @@ class SystemChannels {
/// a [List] whose first value is an integer representing a previously
/// a [List] whose first value is an integer representing a previously
/// unused transaction identifier, and the second is a [String] with a
/// unused transaction identifier, and the second is a [String] with a
/// JSON-encoded object with five keys, as obtained from
/// JSON-encoded object with five keys, as obtained from
/// [TextInputConfiguration.toJ
SON
]. This method must be invoked before any
/// [TextInputConfiguration.toJ
son
]. This method must be invoked before any
/// others (except `TextInput.hide`). See [TextInput.attach].
/// others (except `TextInput.hide`). See [TextInput.attach].
///
///
/// * `TextInput.show`: Show the keyboard. See [TextInputConnection.show].
/// * `TextInput.show`: Show the keyboard. See [TextInputConnection.show].
...
@@ -154,8 +154,8 @@ class SystemChannels {
...
@@ -154,8 +154,8 @@ class SystemChannels {
///
///
/// * `TextInputClient.updateEditingState`: The user has changed the contents
/// * `TextInputClient.updateEditingState`: The user has changed the contents
/// of the text control. The second argument is a [String] containing a
/// of the text control. The second argument is a [String] containing a
/// JSON-encoded object with seven keys, in the form expected by
[new
/// JSON-encoded object with seven keys, in the form expected by
/// TextEditingValue.fromJSON].
///
[
TextEditingValue.fromJSON].
///
///
/// * `TextInputClient.performAction`: The user has triggered an action. The
/// * `TextInputClient.performAction`: The user has triggered an action. The
/// second argument is a [String] consisting of the stringification of one
/// second argument is a [String] consisting of the stringification of one
...
...
packages/flutter/lib/src/services/system_chrome.dart
View file @
f4e10b4f
...
@@ -336,7 +336,7 @@ class SystemChrome {
...
@@ -336,7 +336,7 @@ class SystemChrome {
/// {@end-tool}
/// {@end-tool}
///
///
/// For more complex control of the system overlay styles, consider using
/// For more complex control of the system overlay styles, consider using
/// an [AnnotatedRegion] widget instead of calling [setSystemU
i
OverlayStyle]
/// an [AnnotatedRegion] widget instead of calling [setSystemU
I
OverlayStyle]
/// directly. This widget places a value directly into the layer tree where
/// directly. This widget places a value directly into the layer tree where
/// it can be hit-tested by the framework. On every frame, the framework will
/// it can be hit-tested by the framework. On every frame, the framework will
/// hit-test and select the annotated region it finds under the status and
/// hit-test and select the annotated region it finds under the status and
...
...
packages/flutter/lib/src/services/text_formatter.dart
View file @
f4e10b4f
...
@@ -92,11 +92,12 @@ class FilteringTextInputFormatter extends TextInputFormatter {
...
@@ -92,11 +92,12 @@ class FilteringTextInputFormatter extends TextInputFormatter {
///
///
/// If [allow] is true, then the filter pattern is an allow list,
/// If [allow] is true, then the filter pattern is an allow list,
/// and characters must match the pattern to be accepted. See also
/// and characters must match the pattern to be accepted. See also
/// [new FilteringTextInputFormatter.allow].
/// the `FilteringTextInputFormatter.allow` constructor.
// TODO(goderbauer): Cannot link to the constructor because of https://github.com/dart-lang/dartdoc/issues/2276.
///
///
/// If [allow] is false, then the filter pattern is a deny list,
/// If [allow] is false, then the filter pattern is a deny list,
/// and characters that match the pattern are rejected. See also
/// and characters that match the pattern are rejected. See also
///
[new FilteringTextInputFormatter.deny]
.
///
the [FilteringTextInputFormatter.deny] constructor
.
///
///
/// The [filterPattern], [allow], and [replacementString] arguments
/// The [filterPattern], [allow], and [replacementString] arguments
/// must not be null.
/// must not be null.
...
...
packages/flutter/lib/src/services/text_input.dart
View file @
f4e10b4f
...
@@ -32,7 +32,6 @@ export 'dart:ui' show TextAffinity;
...
@@ -32,7 +32,6 @@ export 'dart:ui' show TextAffinity;
/// See also:
/// See also:
///
///
/// * [TextField.smartDashesType]
/// * [TextField.smartDashesType]
/// * [TextFormField.smartDashesType]
/// * [CupertinoTextField.smartDashesType]
/// * [CupertinoTextField.smartDashesType]
/// * [EditableText.smartDashesType]
/// * [EditableText.smartDashesType]
/// * [SmartQuotesType]
/// * [SmartQuotesType]
...
@@ -56,10 +55,8 @@ enum SmartDashesType {
...
@@ -56,10 +55,8 @@ enum SmartDashesType {
/// See also:
/// See also:
///
///
/// * [TextField.smartQuotesType]
/// * [TextField.smartQuotesType]
/// * [TextFormField.smartQuotesType]
/// * [CupertinoTextField.smartQuotesType]
/// * [CupertinoTextField.smartQuotesType]
/// * [EditableText.smartQuotesType]
/// * [EditableText.smartQuotesType]
/// * [SmartDashesType]
/// * <https://developer.apple.com/documentation/uikit/uitextinputtraits>
/// * <https://developer.apple.com/documentation/uikit/uitextinputtraits>
enum
SmartQuotesType
{
enum
SmartQuotesType
{
/// Smart quotes is disabled.
/// Smart quotes is disabled.
...
@@ -79,7 +76,7 @@ enum SmartQuotesType {
...
@@ -79,7 +76,7 @@ enum SmartQuotesType {
///
///
/// On Android, behavior may vary across device and keyboard provider.
/// On Android, behavior may vary across device and keyboard provider.
///
///
/// This class stays as close to
[Enum]
interface as possible, and allows
/// This class stays as close to
`Enum`
interface as possible, and allows
/// for additional flags for some input types. For example, numeric input
/// for additional flags for some input types. For example, numeric input
/// can specify whether it supports decimal numbers and/or signed numbers.
/// can specify whether it supports decimal numbers and/or signed numbers.
@immutable
@immutable
...
...
packages/flutter/lib/src/widgets/framework.dart
View file @
f4e10b4f
...
@@ -2171,7 +2171,7 @@ abstract class BuildContext {
...
@@ -2171,7 +2171,7 @@ abstract class BuildContext {
)
)
InheritedWidget
inheritFromWidgetOfExactType
(
Type
targetType
,
{
Object
aspect
});
InheritedWidget
inheritFromWidgetOfExactType
(
Type
targetType
,
{
Object
aspect
});
/// Obtains the nearest widget of the given type
[T]
, which must be the type of a
/// Obtains the nearest widget of the given type
`T`
, which must be the type of a
/// concrete [InheritedWidget] subclass, and registers this build context with
/// concrete [InheritedWidget] subclass, and registers this build context with
/// that widget such that when that widget changes (or a new widget of that
/// that widget such that when that widget changes (or a new widget of that
/// type is introduced, or the widget goes away), this build context is
/// type is introduced, or the widget goes away), this build context is
...
@@ -2206,7 +2206,7 @@ abstract class BuildContext {
...
@@ -2206,7 +2206,7 @@ abstract class BuildContext {
/// the widget or one of its ancestors is moved (for example, because an
/// the widget or one of its ancestors is moved (for example, because an
/// ancestor is added or removed).
/// ancestor is added or removed).
///
///
/// The [aspect] parameter is only used when
[T]
is an
/// The [aspect] parameter is only used when
`T`
is an
/// [InheritedWidget] subclasses that supports partial updates, like
/// [InheritedWidget] subclasses that supports partial updates, like
/// [InheritedModel]. It specifies what "aspect" of the inherited
/// [InheritedModel]. It specifies what "aspect" of the inherited
/// widget this context depends on.
/// widget this context depends on.
...
@@ -2223,7 +2223,7 @@ abstract class BuildContext {
...
@@ -2223,7 +2223,7 @@ abstract class BuildContext {
)
)
InheritedElement
ancestorInheritedElementForWidgetOfExactType
(
Type
targetType
);
InheritedElement
ancestorInheritedElementForWidgetOfExactType
(
Type
targetType
);
/// Obtains the element corresponding to the nearest widget of the given type
[T]
,
/// Obtains the element corresponding to the nearest widget of the given type
`T`
,
/// which must be the type of a concrete [InheritedWidget] subclass.
/// which must be the type of a concrete [InheritedWidget] subclass.
///
///
/// Returns null if no such element is found.
/// Returns null if no such element is found.
...
@@ -2252,7 +2252,7 @@ abstract class BuildContext {
...
@@ -2252,7 +2252,7 @@ abstract class BuildContext {
)
)
Widget
ancestorWidgetOfExactType
(
Type
targetType
);
Widget
ancestorWidgetOfExactType
(
Type
targetType
);
/// Returns the nearest ancestor widget of the given type
[T]
, which must be the
/// Returns the nearest ancestor widget of the given type
`T`
, which must be the
/// type of a concrete [Widget] subclass.
/// type of a concrete [Widget] subclass.
///
///
/// In general, [dependOnInheritedWidgetOfExactType] is more useful, since
/// In general, [dependOnInheritedWidgetOfExactType] is more useful, since
...
@@ -2290,7 +2290,7 @@ abstract class BuildContext {
...
@@ -2290,7 +2290,7 @@ abstract class BuildContext {
State
ancestorStateOfType
(
TypeMatcher
matcher
);
State
ancestorStateOfType
(
TypeMatcher
matcher
);
/// Returns the [State] object of the nearest ancestor [StatefulWidget] widget
/// Returns the [State] object of the nearest ancestor [StatefulWidget] widget
/// that is an instance of the given type
[T]
.
/// that is an instance of the given type
`T`
.
///
///
/// This should not be used from build methods, because the build context will
/// This should not be used from build methods, because the build context will
/// not be rebuilt if the value that would be returned by this method changes.
/// not be rebuilt if the value that would be returned by this method changes.
...
@@ -2334,10 +2334,10 @@ abstract class BuildContext {
...
@@ -2334,10 +2334,10 @@ abstract class BuildContext {
State
rootAncestorStateOfType
(
TypeMatcher
matcher
);
State
rootAncestorStateOfType
(
TypeMatcher
matcher
);
/// Returns the [State] object of the furthest ancestor [StatefulWidget] widget
/// Returns the [State] object of the furthest ancestor [StatefulWidget] widget
/// that is an instance of the given type
[T]
.
/// that is an instance of the given type
`T`
.
///
///
/// Functions the same way as [findAncestorStateOfType] but keeps visiting subsequent
/// Functions the same way as [findAncestorStateOfType] but keeps visiting subsequent
/// ancestors until there are none of the type instance of
[T]
remaining.
/// ancestors until there are none of the type instance of
`T`
remaining.
/// Then returns the last one found.
/// Then returns the last one found.
///
///
/// This operation is O(N) as well though N is the entire widget tree rather than
/// This operation is O(N) as well though N is the entire widget tree rather than
...
@@ -2356,7 +2356,7 @@ abstract class BuildContext {
...
@@ -2356,7 +2356,7 @@ abstract class BuildContext {
RenderObject
ancestorRenderObjectOfType
(
TypeMatcher
matcher
);
RenderObject
ancestorRenderObjectOfType
(
TypeMatcher
matcher
);
/// Returns the [RenderObject] object of the nearest ancestor [RenderObjectWidget] widget
/// Returns the [RenderObject] object of the nearest ancestor [RenderObjectWidget] widget
/// that is an instance of the given type
[T]
.
/// that is an instance of the given type
`T`
.
///
///
/// This should not be used from build methods, because the build context will
/// This should not be used from build methods, because the build context will
/// not be rebuilt if the value that would be returned by this method changes.
/// not be rebuilt if the value that would be returned by this method changes.
...
...
packages/flutter_driver/lib/src/common/find.dart
View file @
f4e10b4f
...
@@ -174,7 +174,7 @@ class BySemanticsLabel extends SerializableFinder {
...
@@ -174,7 +174,7 @@ class BySemanticsLabel extends SerializableFinder {
/// Creates a semantic label finder given the [label].
/// Creates a semantic label finder given the [label].
const
BySemanticsLabel
(
this
.
label
);
const
BySemanticsLabel
(
this
.
label
);
/// A [Pattern] matching the
[Semantics.properties.label
].
/// A [Pattern] matching the
label of a [SemanticsNode
].
///
///
/// If this is a [String], it will be treated as an exact match.
/// If this is a [String], it will be treated as an exact match.
final
Pattern
label
;
final
Pattern
label
;
...
...
packages/flutter_driver/lib/src/common/geometry.dart
View file @
f4e10b4f
...
@@ -52,7 +52,7 @@ class GetOffset extends CommandWithTarget {
...
@@ -52,7 +52,7 @@ class GetOffset extends CommandWithTarget {
String
get
kind
=>
'get_offset'
;
String
get
kind
=>
'get_offset'
;
}
}
/// The result of the [Get
Rec
t] command.
/// The result of the [Get
Offse
t] command.
///
///
/// The offset is provided in logical pixels, which can be translated
/// The offset is provided in logical pixels, which can be translated
/// to device pixels via [Window.devicePixelRatio].
/// to device pixels via [Window.devicePixelRatio].
...
...
packages/flutter_driver/lib/src/driver/timeline_summary.dart
View file @
f4e10b4f
...
@@ -146,11 +146,11 @@ class TimelineSummary {
...
@@ -146,11 +146,11 @@ class TimelineSummary {
/// * "frame_rasterizer_begin_times": The rasterize begin time of each frame.
/// * "frame_rasterizer_begin_times": The rasterize begin time of each frame.
/// * "average_vsync_transitions_missed": Computes the average of the
/// * "average_vsync_transitions_missed": Computes the average of the
/// `vsync_transitions_missed` over the lag events.
/// `vsync_transitions_missed` over the lag events.
/// See [
s
ceneDisplayLagSummarizer.computeAverageVsyncTransitionsMissed].
/// See [
S
ceneDisplayLagSummarizer.computeAverageVsyncTransitionsMissed].
/// * "90th_percentile_vsync_transitions_missed" and
/// * "90th_percentile_vsync_transitions_missed" and
/// "99th_percentile_vsync_transitions_missed": The 90/99-th percentile
/// "99th_percentile_vsync_transitions_missed": The 90/99-th percentile
/// `vsync_transitions_missed` over the lag events.
/// `vsync_transitions_missed` over the lag events.
/// See [
s
ceneDisplayLagSummarizer.computePercentileVsyncTransitionsMissed].
/// See [
S
ceneDisplayLagSummarizer.computePercentileVsyncTransitionsMissed].
Map
<
String
,
dynamic
>
get
summaryJson
{
Map
<
String
,
dynamic
>
get
summaryJson
{
final
SceneDisplayLagSummarizer
sceneDisplayLagSummarizer
=
_sceneDisplayLagSummarizer
();
final
SceneDisplayLagSummarizer
sceneDisplayLagSummarizer
=
_sceneDisplayLagSummarizer
();
final
Map
<
String
,
dynamic
>
profilingSummary
=
_profilingSummarizer
().
summarize
();
final
Map
<
String
,
dynamic
>
profilingSummary
=
_profilingSummarizer
().
summarize
();
...
...
packages/flutter_localizations/lib/src/cupertino_localizations.dart
View file @
f4e10b4f
...
@@ -361,8 +361,7 @@ abstract class GlobalCupertinoLocalizations implements CupertinoLocalizations {
...
@@ -361,8 +361,7 @@ abstract class GlobalCupertinoLocalizations implements CupertinoLocalizations {
).
replaceFirst
(
r'$second'
,
_decimalFormat
.
format
(
second
));
).
replaceFirst
(
r'$second'
,
_decimalFormat
.
format
(
second
));
}
}
/// A [LocalizationsDelegate] that uses [GlobalCupertinoLocalizations.load]
/// A [LocalizationsDelegate] for [CupertinoLocalizations].
/// to create an instance of this class.
///
///
/// Most internationalized apps will use [GlobalCupertinoLocalizations.delegates]
/// Most internationalized apps will use [GlobalCupertinoLocalizations.delegates]
/// as the value of [CupertinoApp.localizationsDelegates] to include
/// as the value of [CupertinoApp.localizationsDelegates] to include
...
...
packages/flutter_localizations/lib/src/material_localizations.dart
View file @
f4e10b4f
...
@@ -79,7 +79,7 @@ abstract class GlobalMaterialLocalizations implements MaterialLocalizations {
...
@@ -79,7 +79,7 @@ abstract class GlobalMaterialLocalizations implements MaterialLocalizations {
/// 4. The [intl.DateFormat] for [formatMediumDate].
/// 4. The [intl.DateFormat] for [formatMediumDate].
/// 5. The [intl.DateFormat] for [formatFullDate].
/// 5. The [intl.DateFormat] for [formatFullDate].
/// 6. The [intl.DateFormat] for [formatMonthYear].
/// 6. The [intl.DateFormat] for [formatMonthYear].
/// 7. The [int.DateFormat] for [formatShortMonthDay].
/// 7. The [int
l
.DateFormat] for [formatShortMonthDay].
/// 8. The [NumberFormat] for [formatDecimal] (also used by [formatHour] and
/// 8. The [NumberFormat] for [formatDecimal] (also used by [formatHour] and
/// [formatTimeOfDay] when [timeOfDayFormat] doesn't use [HourFormat.HH]).
/// [formatTimeOfDay] when [timeOfDayFormat] doesn't use [HourFormat.HH]).
/// 9. The [NumberFormat] for [formatHour] and the hour part of
/// 9. The [NumberFormat] for [formatHour] and the hour part of
...
@@ -667,8 +667,7 @@ abstract class GlobalMaterialLocalizations implements MaterialLocalizations {
...
@@ -667,8 +667,7 @@ abstract class GlobalMaterialLocalizations implements MaterialLocalizations {
@override
@override
ScriptCategory
get
scriptCategory
;
ScriptCategory
get
scriptCategory
;
/// A [LocalizationsDelegate] that uses [GlobalMaterialLocalizations.load]
/// A [LocalizationsDelegate] for [MaterialLocalizations].
/// to create an instance of this class.
///
///
/// Most internationalized apps will use [GlobalMaterialLocalizations.delegates]
/// Most internationalized apps will use [GlobalMaterialLocalizations.delegates]
/// as the value of [MaterialApp.localizationsDelegates] to include
/// as the value of [MaterialApp.localizationsDelegates] to include
...
...
packages/flutter_localizations/lib/src/widgets_localizations.dart
View file @
f4e10b4f
...
@@ -59,7 +59,7 @@ class GlobalWidgetsLocalizations implements WidgetsLocalizations {
...
@@ -59,7 +59,7 @@ class GlobalWidgetsLocalizations implements WidgetsLocalizations {
/// A [LocalizationsDelegate] that uses [GlobalWidgetsLocalizations.load]
/// A [LocalizationsDelegate] that uses [GlobalWidgetsLocalizations.load]
/// to create an instance of this class.
/// to create an instance of this class.
///
///
/// [WidgetsApp] automatically adds this value to [WidgetApp.localizationsDelegates].
/// [WidgetsApp] automatically adds this value to [Widget
s
App.localizationsDelegates].
static
const
LocalizationsDelegate
<
WidgetsLocalizations
>
delegate
=
_WidgetsLocalizationsDelegate
();
static
const
LocalizationsDelegate
<
WidgetsLocalizations
>
delegate
=
_WidgetsLocalizationsDelegate
();
}
}
...
...
packages/flutter_test/lib/src/animation_sheet.dart
View file @
f4e10b4f
...
@@ -29,7 +29,7 @@ import 'package:flutter_test/flutter_test.dart';
...
@@ -29,7 +29,7 @@ import 'package:flutter_test/flutter_test.dart';
/// animation sheet, and can be matched against the golden test.
/// animation sheet, and can be matched against the golden test.
///
///
/// {@tool snippet}
/// {@tool snippet}
/// The following example shows how to record an animation sheet of an [Ink
w
ell]
/// The following example shows how to record an animation sheet of an [Ink
W
ell]
/// being pressed then released.
/// being pressed then released.
///
///
/// ```dart
/// ```dart
...
...
packages/flutter_test/lib/src/binding.dart
View file @
f4e10b4f
...
@@ -252,10 +252,10 @@ abstract class TestWidgetsFlutterBinding extends BindingBase
...
@@ -252,10 +252,10 @@ abstract class TestWidgetsFlutterBinding extends BindingBase
/// This method has no effect on the timeout specified via `timeout` on
/// This method has no effect on the timeout specified via `timeout` on
/// [testWidgets]. That timeout is implemented by the `test` package.
/// [testWidgets]. That timeout is implemented by the `test` package.
///
///
/// By default, each [pump] and [
pumpWidget] call increases the timeout by a
/// By default, each [pump] and [
WidgetTester.pumpWidget] call increases the
///
hundred milliseconds, and each [matchesGoldenFile] expectation increases
///
timeout by a hundred milliseconds, and each [matchesGoldenFile]
///
it by a minute. If there is no timeout in the first place, this has no
///
expectation increases it by a minute. If there is no timeout in the first
/// effect.
///
place, this has no
effect.
///
///
/// The granularity of timeouts is coarse: the time is checked once per
/// The granularity of timeouts is coarse: the time is checked once per
/// second, and only when the test is not executing. It is therefore possible
/// second, and only when the test is not executing. It is therefore possible
...
...
packages/flutter_test/lib/src/goldens.dart
View file @
f4e10b4f
...
@@ -221,7 +221,7 @@ abstract class WebGoldenComparator {
...
@@ -221,7 +221,7 @@ abstract class WebGoldenComparator {
/// updates the files on disk to match the rendering.
/// updates the files on disk to match the rendering.
///
///
/// When using `flutter run`, the default comparator
/// When using `flutter run`, the default comparator
/// (
[_TrivialWebGoldenComparator]
) is used. It prints a message to the console
/// (
`_TrivialWebGoldenComparator`
) is used. It prints a message to the console
/// but otherwise does nothing. This allows tests to be developed visually on a
/// but otherwise does nothing. This allows tests to be developed visually on a
/// web browser.
/// web browser.
///
///
...
...
packages/flutter_test/lib/src/matchers.dart
View file @
f4e10b4f
...
@@ -275,7 +275,7 @@ Matcher offsetMoreOrLessEquals(Offset value, { double epsilon = precisionErrorTo
...
@@ -275,7 +275,7 @@ Matcher offsetMoreOrLessEquals(Offset value, { double epsilon = precisionErrorTo
/// with ids that match the pattern #[0-9a-f]{5}.
/// with ids that match the pattern #[0-9a-f]{5}.
/// * [shortHash], a method that generates a 5 character long hexadecimal
/// * [shortHash], a method that generates a 5 character long hexadecimal
/// [String] based on [Object.hashCode].
/// [String] based on [Object.hashCode].
/// * [
TreeDiagnosticsMixin
.toStringDeep], a method that returns a [String]
/// * [
DiagnosticableTree
.toStringDeep], a method that returns a [String]
/// typically containing multiple hash codes.
/// typically containing multiple hash codes.
Matcher
equalsIgnoringHashCodes
(
String
value
)
{
Matcher
equalsIgnoringHashCodes
(
String
value
)
{
return
_EqualsIgnoringHashCodes
(
value
);
return
_EqualsIgnoringHashCodes
(
value
);
...
@@ -416,7 +416,7 @@ AsyncMatcher matchesReferenceImage(ui.Image image) {
...
@@ -416,7 +416,7 @@ AsyncMatcher matchesReferenceImage(ui.Image image) {
/// provided, then they are not part of the comparison. All of the boolean
/// provided, then they are not part of the comparison. All of the boolean
/// flag and action fields must match, and default to false.
/// flag and action fields must match, and default to false.
///
///
/// To retrieve the semantics data of a widget, use [
t
ester.getSemantics]
/// To retrieve the semantics data of a widget, use [
WidgetT
ester.getSemantics]
/// with a [Finder] that returns a single widget. Semantics must be enabled
/// with a [Finder] that returns a single widget. Semantics must be enabled
/// in order to use this method.
/// in order to use this method.
///
///
...
...
packages/flutter_test/lib/src/test_compat.dart
View file @
f4e10b4f
...
@@ -180,47 +180,9 @@ void test(
...
@@ -180,47 +180,9 @@ void test(
/// of any tests or sub-groups it contains. [setUp] and [tearDown] are also scoped
/// of any tests or sub-groups it contains. [setUp] and [tearDown] are also scoped
/// to the containing group.
/// to the containing group.
///
///
/// If [testOn] is passed, it's parsed as a [platform selector][]; the test will
/// If `skip` is a String or `true`, the group is skipped. If it's a String, it
/// only be run on matching platforms.
///
/// [platform selector]: https://github.com/dart-lang/test/tree/master/pkgs/test#platform-selectors
///
/// If [timeout] is passed, it's used to modify or replace the default timeout
/// of 30 seconds. Timeout modifications take precedence in suite-group-test
/// order, so [timeout] will also modify any timeouts set on the suite, and will
/// be modified by any timeouts set on individual tests.
///
/// If [skip] is a String or `true`, the group is skipped. If it's a String, it
/// should explain why the group is skipped; this reason will be printed instead
/// should explain why the group is skipped; this reason will be printed instead
/// of running the group's tests.
/// of running the group's tests.
///
/// If [tags] is passed, it declares user-defined tags that are applied to the
/// test. These tags can be used to select or skip the test on the command line,
/// or to do bulk test configuration. All tags should be declared in the
/// [package configuration file][configuring tags]. The parameter can be an
/// [Iterable] of tag names, or a [String] representing a single tag.
///
/// [configuring tags]: https://github.com/dart-lang/test/blob/44d6cb196f34a93a975ed5f3cb76afcc3a7b39b0/doc/package_config.md#configuring-tags
///
/// [onPlatform] allows groups to be configured on a platform-by-platform
/// basis. It's a map from strings that are parsed as [PlatformSelector]s to
/// annotation classes: [Timeout], [Skip], or lists of those. These
/// annotations apply only on the given platforms. For example:
///
/// group('potentially slow tests', () {
/// // ...
/// }, onPlatform: {
/// // These tests are especially slow on Windows.
/// 'windows': new Timeout.factor(2),
/// 'browser': [
/// new Skip('TODO: add browser support'),
/// // They'll be slow on browsers once it works on them.
/// new Timeout.factor(2)
/// ]
/// });
///
/// If multiple platforms match, the annotations apply in order as through
/// they were in nested groups.
@isTestGroup
@isTestGroup
void
group
(
Object
description
,
void
Function
()
body
,
{
dynamic
skip
})
{
void
group
(
Object
description
,
void
Function
()
body
,
{
dynamic
skip
})
{
_declarer
.
group
(
description
.
toString
(),
body
,
skip:
skip
);
_declarer
.
group
(
description
.
toString
(),
body
,
skip:
skip
);
...
@@ -228,11 +190,11 @@ void group(Object description, void Function() body, { dynamic skip }) {
...
@@ -228,11 +190,11 @@ void group(Object description, void Function() body, { dynamic skip }) {
/// Registers a function to be run before tests.
/// Registers a function to be run before tests.
///
///
/// This function will be called before each test is run.
[callback]
may be
/// This function will be called before each test is run.
The `body`
may be
/// asynchronous; if so, it must return a [Future].
/// asynchronous; if so, it must return a [Future].
///
///
/// If this is called within a test group, it applies only to tests in that
/// If this is called within a test group, it applies only to tests in that
/// group.
[callback]
will be run after any set-up callbacks in parent groups or
/// group.
The `body`
will be run after any set-up callbacks in parent groups or
/// at the top level.
/// at the top level.
///
///
/// Each callback at the top level or in a given group will be run in the order
/// Each callback at the top level or in a given group will be run in the order
...
@@ -243,11 +205,11 @@ void setUp(dynamic Function() body) {
...
@@ -243,11 +205,11 @@ void setUp(dynamic Function() body) {
/// Registers a function to be run after tests.
/// Registers a function to be run after tests.
///
///
/// This function will be called after each test is run.
[callback]
may be
/// This function will be called after each test is run.
The `body`
may be
/// asynchronous; if so, it must return a [Future].
/// asynchronous; if so, it must return a [Future].
///
///
/// If this is called within a test group, it applies only to tests in that
/// If this is called within a test group, it applies only to tests in that
/// group.
[callback]
will be run before any tear-down callbacks in parent
/// group.
The `body`
will be run before any tear-down callbacks in parent
/// groups or at the top level.
/// groups or at the top level.
///
///
/// Each callback at the top level or in a given group will be run in the
/// Each callback at the top level or in a given group will be run in the
...
@@ -260,9 +222,9 @@ void tearDown(dynamic Function() body) {
...
@@ -260,9 +222,9 @@ void tearDown(dynamic Function() body) {
/// Registers a function to be run once before all tests.
/// Registers a function to be run once before all tests.
///
///
///
[callback]
may be asynchronous; if so, it must return a [Future].
///
The `body`
may be asynchronous; if so, it must return a [Future].
///
///
/// If this is called within a test group,
[callback]
will run before all tests
/// If this is called within a test group,
The `body`
will run before all tests
/// in that group. It will be run after any [setUpAll] callbacks in parent
/// in that group. It will be run after any [setUpAll] callbacks in parent
/// groups or at the top level. It won't be run if none of the tests in the
/// groups or at the top level. It won't be run if none of the tests in the
/// group are run.
/// group are run.
...
@@ -277,7 +239,7 @@ void setUpAll(dynamic Function() body) {
...
@@ -277,7 +239,7 @@ void setUpAll(dynamic Function() body) {
/// Registers a function to be run once after all tests.
/// Registers a function to be run once after all tests.
///
///
/// If this is called within a test group,
[callback]
will run after all tests
/// If this is called within a test group,
`body`
will run after all tests
/// in that group. It will be run before any [tearDownAll] callbacks in parent
/// in that group. It will be run before any [tearDownAll] callbacks in parent
/// groups or at the top level. It won't be run if none of the tests in the
/// groups or at the top level. It won't be run if none of the tests in the
/// group are run.
/// group are run.
...
...
packages/flutter_test/lib/src/test_text_input.dart
View file @
f4e10b4f
...
@@ -64,7 +64,7 @@ class TestTextInput {
...
@@ -64,7 +64,7 @@ class TestTextInput {
/// Log for method calls.
/// Log for method calls.
///
///
/// For all registered channels, handled calls are added to the list. Can
/// For all registered channels, handled calls are added to the list. Can
/// be cleaned using
[clearLog]
.
/// be cleaned using
`log.clear()`
.
final
List
<
MethodCall
>
log
=
<
MethodCall
>[];
final
List
<
MethodCall
>
log
=
<
MethodCall
>[];
/// Whether this [TestTextInput] is registered with [SystemChannels.textInput].
/// Whether this [TestTextInput] is registered with [SystemChannels.textInput].
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment