diff --git a/packages/flutter/lib/src/animation/animation_controller.dart b/packages/flutter/lib/src/animation/animation_controller.dart index 8a30b6d8e5..e0965439b1 100644 --- a/packages/flutter/lib/src/animation/animation_controller.dart +++ b/packages/flutter/lib/src/animation/animation_controller.dart @@ -146,7 +146,7 @@ class AnimationController extends Animation /// Recreates the [Ticker] with the new [TickerProvider]. void resync(TickerProvider vsync) { - Ticker oldTicker = _ticker; + final Ticker oldTicker = _ticker; _ticker = vsync.createTicker(_tick); _ticker.absorbTicker(oldTicker); } @@ -279,8 +279,8 @@ class AnimationController extends Animation } return true; }); - double range = upperBound - lowerBound; - double remainingFraction = range.isFinite ? (target - _value).abs() / range : 1.0; + final double range = upperBound - lowerBound; + final double remainingFraction = range.isFinite ? (target - _value).abs() / range : 1.0; simulationDuration = this.duration * remainingFraction; } stop(); @@ -326,7 +326,7 @@ class AnimationController extends Animation _direction = velocity < 0.0 ? _AnimationDirection.reverse : _AnimationDirection.forward; final double target = velocity < 0.0 ? lowerBound - _kFlingTolerance.distance : upperBound + _kFlingTolerance.distance; - Simulation simulation = new SpringSimulation(_kFlingSpringDescription, value, target, velocity) + final Simulation simulation = new SpringSimulation(_kFlingSpringDescription, value, target, velocity) ..tolerance = _kFlingTolerance; return animateWith(simulation); } @@ -343,7 +343,7 @@ class AnimationController extends Animation _simulation = simulation; _lastElapsedDuration = Duration.ZERO; _value = simulation.x(0.0).clamp(lowerBound, upperBound); - Future result = _ticker.start(); + final Future result = _ticker.start(); _status = (_direction == _AnimationDirection.forward) ? AnimationStatus.forward : AnimationStatus.reverse; @@ -381,7 +381,7 @@ class AnimationController extends Animation AnimationStatus _lastReportedStatus = AnimationStatus.dismissed; void _checkStatusChanged() { - AnimationStatus newStatus = status; + final AnimationStatus newStatus = status; if (_lastReportedStatus != newStatus) { _lastReportedStatus = newStatus; notifyStatusListeners(newStatus); @@ -390,7 +390,7 @@ class AnimationController extends Animation void _tick(Duration elapsed) { _lastElapsedDuration = elapsed; - double elapsedInSeconds = elapsed.inMicroseconds.toDouble() / Duration.MICROSECONDS_PER_SECOND; + final double elapsedInSeconds = elapsed.inMicroseconds.toDouble() / Duration.MICROSECONDS_PER_SECOND; assert(elapsedInSeconds >= 0.0); _value = _simulation.x(elapsedInSeconds).clamp(lowerBound, upperBound); if (_simulation.isDone(elapsedInSeconds)) { @@ -405,10 +405,10 @@ class AnimationController extends Animation @override String toStringDetails() { - String paused = isAnimating ? '' : '; paused'; - String ticker = _ticker == null ? '; DISPOSED' : (_ticker.muted ? '; silenced' : ''); - String label = debugLabel == null ? '' : '; for $debugLabel'; - String more = '${super.toStringDetails()} ${value.toStringAsFixed(3)}'; + final String paused = isAnimating ? '' : '; paused'; + final String ticker = _ticker == null ? '; DISPOSED' : (_ticker.muted ? '; silenced' : ''); + final String label = debugLabel == null ? '' : '; for $debugLabel'; + final String more = '${super.toStringDetails()} ${value.toStringAsFixed(3)}'; return '$more$paused$ticker$label'; } } @@ -428,7 +428,7 @@ class _InterpolationSimulation extends Simulation { @override double x(double timeInSeconds) { - double t = (timeInSeconds / _durationInSeconds).clamp(0.0, 1.0); + final double t = (timeInSeconds / _durationInSeconds).clamp(0.0, 1.0); if (t == 0.0) return _begin; else if (t == 1.0) @@ -439,7 +439,7 @@ class _InterpolationSimulation extends Simulation { @override double dx(double timeInSeconds) { - double epsilon = tolerance.time; + final double epsilon = tolerance.time; return (x(timeInSeconds + epsilon) - x(timeInSeconds - epsilon)) / (2 * epsilon); } diff --git a/packages/flutter/lib/src/animation/animations.dart b/packages/flutter/lib/src/animation/animations.dart index ad9ad9c6eb..040982e49a 100644 --- a/packages/flutter/lib/src/animation/animations.dart +++ b/packages/flutter/lib/src/animation/animations.dart @@ -384,9 +384,9 @@ class CurvedAnimation extends Animation with AnimationWithParentMixin _statusChangeHandler(_currentTrain.status); } } - double newValue = value; + final double newValue = value; if (newValue != _lastValue) { notifyListeners(); _lastValue = newValue; diff --git a/packages/flutter/lib/src/animation/curves.dart b/packages/flutter/lib/src/animation/curves.dart index 6cf54d2790..0dd99ccc39 100644 --- a/packages/flutter/lib/src/animation/curves.dart +++ b/packages/flutter/lib/src/animation/curves.dart @@ -190,8 +190,8 @@ class Cubic extends Curve { double start = 0.0; double end = 1.0; while (true) { - double midpoint = (start + end) / 2; - double estimate = _evaluateCubic(a, c, midpoint); + final double midpoint = (start + end) / 2; + final double estimate = _evaluateCubic(a, c, midpoint); if ((t - estimate).abs() < _kCubicErrorBound) return _evaluateCubic(b, d, midpoint); if (estimate < t) @@ -326,7 +326,7 @@ class ElasticInCurve extends Curve { @override double transform(double t) { assert(t >= 0.0 && t <= 1.0); - double s = period / 4.0; + final double s = period / 4.0; t = t - 1.0; return -math.pow(2.0, 10.0 * t) * math.sin((t - s) * (math.PI * 2.0) / period); } @@ -350,7 +350,7 @@ class ElasticOutCurve extends Curve { @override double transform(double t) { assert(t >= 0.0 && t <= 1.0); - double s = period / 4.0; + final double s = period / 4.0; return math.pow(2.0, -10 * t) * math.sin((t - s) * (math.PI * 2.0) / period) + 1.0; } @@ -373,7 +373,7 @@ class ElasticInOutCurve extends Curve { @override double transform(double t) { assert(t >= 0.0 && t <= 1.0); - double s = period / 4.0; + final double s = period / 4.0; t = 2.0 * t - 1.0; if (t < 0.0) return -0.5 * math.pow(2.0, 10.0 * t) * math.sin((t - s) * (math.PI * 2.0) / period); diff --git a/packages/flutter/lib/src/animation/tween.dart b/packages/flutter/lib/src/animation/tween.dart index 6c4f7356ef..dc5dbc2d0f 100644 --- a/packages/flutter/lib/src/animation/tween.dart +++ b/packages/flutter/lib/src/animation/tween.dart @@ -60,7 +60,7 @@ class _ChainedEvaluation extends Animatable { @override T evaluate(Animation animation) { - double value = _parent.evaluate(animation); + final double value = _parent.evaluate(animation); return _evaluatable.evaluate(new AlwaysStoppedAnimation(value)); } @@ -240,7 +240,7 @@ class CurveTween extends Animatable { @override double evaluate(Animation animation) { - double t = animation.value; + final double t = animation.value; if (t == 0.0 || t == 1.0) { assert(curve.transform(t).round() == t); return t; diff --git a/packages/flutter/lib/src/cupertino/thumb_painter.dart b/packages/flutter/lib/src/cupertino/thumb_painter.dart index b5af12a0d4..d8163a20c7 100644 --- a/packages/flutter/lib/src/cupertino/thumb_painter.dart +++ b/packages/flutter/lib/src/cupertino/thumb_painter.dart @@ -21,7 +21,7 @@ class CupertinoThumbPainter { void paint(Canvas canvas, Rect rect) { final RRect rrect = new RRect.fromRectAndRadius(rect, new Radius.circular(rect.shortestSide / 2.0)); - Paint paint = new Paint() + final Paint paint = new Paint() ..color = shadowColor ..maskFilter = _kShadowMaskFilter; canvas.drawRRect(rrect, paint); diff --git a/packages/flutter/lib/src/foundation/assertions.dart b/packages/flutter/lib/src/foundation/assertions.dart index 904cb1bcb8..4137e571e7 100644 --- a/packages/flutter/lib/src/foundation/assertions.dart +++ b/packages/flutter/lib/src/foundation/assertions.dart @@ -214,7 +214,7 @@ class FlutterError extends AssertionError { if ((details.exception is AssertionError) && (details.exception is! FlutterError)) { bool ourFault = true; if (stackLines != null) { - List stackList = stackLines.take(2).toList(); + final List stackList = stackLines.take(2).toList(); if (stackList.length >= 2) { final RegExp throwPattern = new RegExp(r'^#0 +_AssertionError._throwNew \(dart:.+\)$'); final RegExp assertPattern = new RegExp(r'^#1 +[^(]+ \((.+?):([0-9]+)(?::[0-9]+)?\)$'); @@ -247,7 +247,7 @@ class FlutterError extends AssertionError { debugPrint(line, wrapWidth: _kWrapWidth); } if (details.informationCollector != null) { - StringBuffer information = new StringBuffer(); + final StringBuffer information = new StringBuffer(); details.informationCollector(information); debugPrint('\n$information', wrapWidth: _kWrapWidth); } @@ -285,11 +285,11 @@ class FlutterError extends AssertionError { final List result = []; final List skipped = []; for (String line in frames) { - Match match = stackParser.firstMatch(line); + final Match match = stackParser.firstMatch(line); if (match != null) { assert(match.groupCount == 2); if (filteredPackages.contains(match.group(2))) { - Match packageMatch = packageParser.firstMatch(match.group(2)); + final Match packageMatch = packageParser.firstMatch(match.group(2)); if (packageMatch != null && packageMatch.group(1) == 'package') { skipped.add('package ${packageMatch.group(2)}'); // avoid "package package:foo" } else { @@ -307,7 +307,7 @@ class FlutterError extends AssertionError { if (skipped.length == 1) { result.add('(elided one frame from ${skipped.single})'); } else if (skipped.length > 1) { - List where = new Set.from(skipped).toList()..sort(); + final List where = new Set.from(skipped).toList()..sort(); if (where.length > 1) where[where.length - 1] = 'and ${where.last}'; if (where.length > 2) { diff --git a/packages/flutter/lib/src/foundation/licenses.dart b/packages/flutter/lib/src/foundation/licenses.dart index 64ba5b83b5..8c946d9954 100644 --- a/packages/flutter/lib/src/foundation/licenses.dart +++ b/packages/flutter/lib/src/foundation/licenses.dart @@ -132,7 +132,7 @@ class LicenseEntryWithLineBreaks extends LicenseEntry { int currentLineIndent = 0; int currentParagraphIndentation; _LicenseEntryWithLineBreaksParserState state = _LicenseEntryWithLineBreaksParserState.beforeParagraph; - List lines = []; + final List lines = []; void addLine() { assert(lineStart < currentPosition); diff --git a/packages/flutter/lib/src/foundation/print.dart b/packages/flutter/lib/src/foundation/print.dart index 7e5750a7fb..ed2fb3ed7e 100644 --- a/packages/flutter/lib/src/foundation/print.dart +++ b/packages/flutter/lib/src/foundation/print.dart @@ -64,7 +64,7 @@ void _debugPrintTask() { _debugPrintedCharacters = 0; } while (_debugPrintedCharacters < _kDebugPrintCapacity && _debugPrintBuffer.isNotEmpty) { - String line = _debugPrintBuffer.removeFirst(); + final String line = _debugPrintBuffer.removeFirst(); _debugPrintedCharacters += line.length; // TODO(ianh): Use the UTF-8 byte length instead print(line); } @@ -108,8 +108,8 @@ Iterable debugWordWrap(String message, int width, { String wrapIndent: ' yield message; return; } - Match prefixMatch = _indentPattern.matchAsPrefix(message); - String prefix = wrapIndent + ' ' * prefixMatch.group(0).length; + final Match prefixMatch = _indentPattern.matchAsPrefix(message); + final String prefix = wrapIndent + ' ' * prefixMatch.group(0).length; int start = 0; int startForLengthCalculations = 0; bool addPrefix = false; diff --git a/packages/flutter/lib/src/foundation/synchronous_future.dart b/packages/flutter/lib/src/foundation/synchronous_future.dart index 93c520b320..b24ce08930 100644 --- a/packages/flutter/lib/src/foundation/synchronous_future.dart +++ b/packages/flutter/lib/src/foundation/synchronous_future.dart @@ -35,7 +35,7 @@ class SynchronousFuture implements Future { @override Future then(dynamic f(T value), { Function onError }) { - dynamic result = f(_value); + final dynamic result = f(_value); if (result is Future) return result; return new SynchronousFuture(result); @@ -49,7 +49,7 @@ class SynchronousFuture implements Future { @override Future whenComplete(dynamic action()) { try { - dynamic result = action(); + final dynamic result = action(); if (result is Future) return result.then((dynamic value) => _value); return this; diff --git a/packages/flutter/lib/src/gestures/arena.dart b/packages/flutter/lib/src/gestures/arena.dart index 52c30f49ff..00d22e3398 100644 --- a/packages/flutter/lib/src/gestures/arena.dart +++ b/packages/flutter/lib/src/gestures/arena.dart @@ -75,7 +75,7 @@ class GestureArenaManager { /// Adds a new member (e.g., gesture recognizer) to the arena. GestureArenaEntry add(int pointer, GestureArenaMember member) { - _GestureArena state = _arenas.putIfAbsent(pointer, () => new _GestureArena()); + final _GestureArena state = _arenas.putIfAbsent(pointer, () => new _GestureArena()); state.add(member); return new GestureArenaEntry._(this, pointer, member); } @@ -84,7 +84,7 @@ class GestureArenaManager { /// /// Called after the framework has finished dispatching the pointer down event. void close(int pointer) { - _GestureArena state = _arenas[pointer]; + final _GestureArena state = _arenas[pointer]; if (state == null) return; // This arena either never existed or has been resolved. state.isOpen = false; @@ -105,7 +105,7 @@ class GestureArenaManager { /// * [hold] /// * [release] void sweep(int pointer) { - _GestureArena state = _arenas[pointer]; + final _GestureArena state = _arenas[pointer]; if (state == null) return; // This arena either never existed or has been resolved. assert(!state.isOpen); @@ -136,7 +136,7 @@ class GestureArenaManager { /// * [sweep] /// * [release] void hold(int pointer) { - _GestureArena state = _arenas[pointer]; + final _GestureArena state = _arenas[pointer]; if (state == null) return; // This arena either never existed or has been resolved. state.isHeld = true; @@ -152,7 +152,7 @@ class GestureArenaManager { /// * [sweep] /// * [hold] void release(int pointer) { - _GestureArena state = _arenas[pointer]; + final _GestureArena state = _arenas[pointer]; if (state == null) return; // This arena either never existed or has been resolved. state.isHeld = false; @@ -184,7 +184,7 @@ class GestureArenaManager { } void _resolve(int pointer, GestureArenaMember member, GestureDisposition disposition) { - _GestureArena state = _arenas[pointer]; + final _GestureArena state = _arenas[pointer]; if (state == null) return; // This arena has already resolved. assert(state.members.contains(member)); diff --git a/packages/flutter/lib/src/gestures/converter.dart b/packages/flutter/lib/src/gestures/converter.dart index 6c83630263..905b40df8f 100644 --- a/packages/flutter/lib/src/gestures/converter.dart +++ b/packages/flutter/lib/src/gestures/converter.dart @@ -53,7 +53,7 @@ class PointerEventConverter { switch (datum.change) { case ui.PointerChange.add: assert(!_pointers.containsKey(datum.device)); - _PointerState state = _ensureStateForPointer(datum, position); + final _PointerState state = _ensureStateForPointer(datum, position); assert(state.lastPosition == position); yield new PointerAddedEvent( timeStamp: timeStamp, @@ -73,7 +73,7 @@ class PointerEventConverter { break; case ui.PointerChange.hover: final bool alreadyAdded = _pointers.containsKey(datum.device); - _PointerState state = _ensureStateForPointer(datum, position); + final _PointerState state = _ensureStateForPointer(datum, position); assert(!state.down); if (!alreadyAdded) { assert(state.lastPosition == position); @@ -93,7 +93,7 @@ class PointerEventConverter { tilt: datum.tilt ); } - Offset offset = position - state.lastPosition; + final Offset offset = position - state.lastPosition; state.lastPosition = position; yield new PointerHoverEvent( timeStamp: timeStamp, @@ -118,7 +118,7 @@ class PointerEventConverter { break; case ui.PointerChange.down: final bool alreadyAdded = _pointers.containsKey(datum.device); - _PointerState state = _ensureStateForPointer(datum, position); + final _PointerState state = _ensureStateForPointer(datum, position); assert(!state.down); if (!alreadyAdded) { assert(state.lastPosition == position); @@ -142,7 +142,7 @@ class PointerEventConverter { // Not all sources of pointer packets respect the invariant that // they hover the pointer to the down location before sending the // down event. We restore the invariant here for our clients. - Offset offset = position - state.lastPosition; + final Offset offset = position - state.lastPosition; state.lastPosition = position; yield new PointerHoverEvent( timeStamp: timeStamp, @@ -192,9 +192,9 @@ class PointerEventConverter { // start sending us ADDED and REMOVED data points. // See also: https://github.com/flutter/flutter/issues/720 assert(_pointers.containsKey(datum.device)); - _PointerState state = _pointers[datum.device]; + final _PointerState state = _pointers[datum.device]; assert(state.down); - Offset offset = position - state.lastPosition; + final Offset offset = position - state.lastPosition; state.lastPosition = position; yield new PointerMoveEvent( timeStamp: timeStamp, @@ -220,7 +220,7 @@ class PointerEventConverter { case ui.PointerChange.up: case ui.PointerChange.cancel: assert(_pointers.containsKey(datum.device)); - _PointerState state = _pointers[datum.device]; + final _PointerState state = _pointers[datum.device]; assert(state.down); if (position != state.lastPosition) { // Not all sources of pointer packets respect the invariant that @@ -228,7 +228,7 @@ class PointerEventConverter { // event. For example, in the iOS simulator, of you drag outside the // window, you'll get a stream of pointers that violates that // invariant. We restore the invariant here for our clients. - Offset offset = position - state.lastPosition; + final Offset offset = position - state.lastPosition; state.lastPosition = position; yield new PointerMoveEvent( timeStamp: timeStamp, @@ -293,7 +293,7 @@ class PointerEventConverter { break; case ui.PointerChange.remove: assert(_pointers.containsKey(datum.device)); - _PointerState state = _pointers[datum.device]; + final _PointerState state = _pointers[datum.device]; if (state.down) { yield new PointerCancelEvent( timeStamp: timeStamp, diff --git a/packages/flutter/lib/src/gestures/drag.dart b/packages/flutter/lib/src/gestures/drag.dart index 52712ae6c4..4bf17e7b10 100644 --- a/packages/flutter/lib/src/gestures/drag.dart +++ b/packages/flutter/lib/src/gestures/drag.dart @@ -283,10 +283,10 @@ abstract class DragGestureRecognizer extends OneSequenceGestureRecognizer { void handleEvent(PointerEvent event) { assert(_state != _DragState.ready); if (event is PointerMoveEvent) { - VelocityTracker tracker = _velocityTrackers[event.pointer]; + final VelocityTracker tracker = _velocityTrackers[event.pointer]; assert(tracker != null); tracker.addPosition(event.timeStamp, event.position); - Offset delta = event.delta; + final Offset delta = event.delta; if (_state == _DragState.accepted) { if (onUpdate != null) { invokeCallback('onUpdate', () => onUpdate(new DragUpdateDetails( // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504 @@ -308,7 +308,7 @@ abstract class DragGestureRecognizer extends OneSequenceGestureRecognizer { void acceptGesture(int pointer) { if (_state != _DragState.accepted) { _state = _DragState.accepted; - Offset delta = _pendingDragOffset; + final Offset delta = _pendingDragOffset; _pendingDragOffset = Offset.zero; if (onStart != null) { invokeCallback('onStart', () => onStart(new DragStartDetails( // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504 @@ -339,10 +339,10 @@ abstract class DragGestureRecognizer extends OneSequenceGestureRecognizer { invokeCallback('onCancel', onCancel); // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504 return; } - bool wasAccepted = (_state == _DragState.accepted); + final bool wasAccepted = (_state == _DragState.accepted); _state = _DragState.ready; if (wasAccepted && onEnd != null) { - VelocityTracker tracker = _velocityTrackers[pointer]; + final VelocityTracker tracker = _velocityTrackers[pointer]; assert(tracker != null); Velocity velocity = tracker.getVelocity(); diff --git a/packages/flutter/lib/src/gestures/lsq_solver.dart b/packages/flutter/lib/src/gestures/lsq_solver.dart index 6184518087..71ffe7af77 100644 --- a/packages/flutter/lib/src/gestures/lsq_solver.dart +++ b/packages/flutter/lib/src/gestures/lsq_solver.dart @@ -94,14 +94,14 @@ class LeastSquaresSolver { if (degree > x.length) // Not enough data to fit a curve. return null; - PolynomialFit result = new PolynomialFit(degree); + final PolynomialFit result = new PolynomialFit(degree); // Shorthands for the purpose of notation equivalence to original C++ code. final int m = x.length; final int n = degree + 1; // Expand the X vector to a matrix A, pre-multiplied by the weights. - _Matrix a = new _Matrix(n, m); + final _Matrix a = new _Matrix(n, m); for (int h = 0; h < m; h += 1) { a.set(0, h, w[h]); for (int i = 1; i < n; i += 1) @@ -111,25 +111,25 @@ class LeastSquaresSolver { // Apply the Gram-Schmidt process to A to obtain its QR decomposition. // Orthonormal basis, column-major ordVectorer. - _Matrix q = new _Matrix(n, m); + final _Matrix q = new _Matrix(n, m); // Upper triangular matrix, row-major order. - _Matrix r = new _Matrix(n, n); + final _Matrix r = new _Matrix(n, n); for (int j = 0; j < n; j += 1) { for (int h = 0; h < m; h += 1) q.set(j, h, a.get(j, h)); for (int i = 0; i < j; i += 1) { - double dot = q.getRow(j) * q.getRow(i); + final double dot = q.getRow(j) * q.getRow(i); for (int h = 0; h < m; h += 1) q.set(j, h, q.get(j, h) - dot * q.get(i, h)); } - double norm = q.getRow(j).norm(); + final double norm = q.getRow(j).norm(); if (norm < 0.000001) { // Vectors are linearly dependent or zero so no solution. return null; } - double inverseNorm = 1.0 / norm; + final double inverseNorm = 1.0 / norm; for (int h = 0; h < m; h += 1) q.set(j, h, q.get(j, h) * inverseNorm); for (int i = 0; i < n; i += 1) @@ -138,7 +138,7 @@ class LeastSquaresSolver { // Solve R B = Qt W Y to find B. This is easy because R is upper triangular. // We just work from bottom-right to top-left calculating B's coefficients. - _Vector wy = new _Vector(m); + final _Vector wy = new _Vector(m); for (int h = 0; h < m; h += 1) wy[h] = y[h] * w[h]; for (int i = n - 1; i >= 0; i -= 1) { diff --git a/packages/flutter/lib/src/gestures/multidrag.dart b/packages/flutter/lib/src/gestures/multidrag.dart index 19cc0596b9..3d8ecf094e 100644 --- a/packages/flutter/lib/src/gestures/multidrag.dart +++ b/packages/flutter/lib/src/gestures/multidrag.dart @@ -206,7 +206,7 @@ abstract class MultiDragGestureRecognizer exten assert(event.pointer != null); assert(event.position != null); assert(!_pointers.containsKey(event.pointer)); - T state = createNewPointerState(event); + final T state = createNewPointerState(event); _pointers[event.pointer] = state; GestureBinding.instance.pointerRouter.addRoute(event.pointer, _handleEvent); state._setArenaEntry(GestureBinding.instance.gestureArena.add(event.pointer, this)); @@ -223,7 +223,7 @@ abstract class MultiDragGestureRecognizer exten assert(event.timeStamp != null); assert(event.position != null); assert(_pointers.containsKey(event.pointer)); - T state = _pointers[event.pointer]; + final T state = _pointers[event.pointer]; if (event is PointerMoveEvent) { state._move(event); // We might be disposed here. @@ -248,7 +248,7 @@ abstract class MultiDragGestureRecognizer exten @override void acceptGesture(int pointer) { assert(_pointers != null); - T state = _pointers[pointer]; + final T state = _pointers[pointer]; if (state == null) return; // We might already have canceled this drag if the up comes before the accept. state.accepted((Point initialPosition) => _startDrag(initialPosition, pointer)); @@ -256,7 +256,7 @@ abstract class MultiDragGestureRecognizer exten Drag _startDrag(Point initialPosition, int pointer) { assert(_pointers != null); - T state = _pointers[pointer]; + final T state = _pointers[pointer]; assert(state != null); assert(state._pendingDelta != null); Drag drag; @@ -274,7 +274,7 @@ abstract class MultiDragGestureRecognizer exten void rejectGesture(int pointer) { assert(_pointers != null); if (_pointers.containsKey(pointer)) { - T state = _pointers[pointer]; + final T state = _pointers[pointer]; assert(state != null); state.rejected(); _removeState(pointer); diff --git a/packages/flutter/lib/src/gestures/multitap.dart b/packages/flutter/lib/src/gestures/multitap.dart index c147bd9084..93d95b99ca 100644 --- a/packages/flutter/lib/src/gestures/multitap.dart +++ b/packages/flutter/lib/src/gestures/multitap.dart @@ -60,7 +60,7 @@ class _TapTracker { } bool isWithinTolerance(PointerEvent event, double tolerance) { - Offset offset = event.position - _initialPosition; + final Offset offset = event.position - _initialPosition; return offset.distance <= tolerance; } } @@ -103,7 +103,7 @@ class DoubleTapGestureRecognizer extends GestureRecognizer { !_firstTap.isWithinTolerance(event, kDoubleTapSlop)) return; _stopDoubleTapTimer(); - _TapTracker tracker = new _TapTracker( + final _TapTracker tracker = new _TapTracker( event: event, entry: GestureBinding.instance.gestureArena.add(event.pointer, this) ); @@ -112,7 +112,7 @@ class DoubleTapGestureRecognizer extends GestureRecognizer { } void _handleEvent(PointerEvent event) { - _TapTracker tracker = _trackers[event.pointer]; + final _TapTracker tracker = _trackers[event.pointer]; assert(tracker != null); if (event is PointerUpEvent) { if (_firstTap == null) @@ -166,7 +166,7 @@ class DoubleTapGestureRecognizer extends GestureRecognizer { if (_firstTap != null) { // Note, order is important below in order for the resolve -> reject logic // to work properly. - _TapTracker tracker = _firstTap; + final _TapTracker tracker = _firstTap; _firstTap = null; _reject(tracker); GestureBinding.instance.gestureArena.release(tracker.pointer); @@ -196,7 +196,7 @@ class DoubleTapGestureRecognizer extends GestureRecognizer { } void _clearTrackers() { - List<_TapTracker> localTrackers = new List<_TapTracker>.from(_trackers.values); + final List<_TapTracker> localTrackers = new List<_TapTracker>.from(_trackers.values); for (_TapTracker tracker in localTrackers) _reject(tracker); assert(_trackers.isEmpty); diff --git a/packages/flutter/lib/src/gestures/pointer_router.dart b/packages/flutter/lib/src/gestures/pointer_router.dart index df5131f081..468a553d48 100644 --- a/packages/flutter/lib/src/gestures/pointer_router.dart +++ b/packages/flutter/lib/src/gestures/pointer_router.dart @@ -24,7 +24,7 @@ class PointerRouter { /// Routes added reentrantly within [PointerRouter.route] will take effect when /// routing the next event. void addRoute(int pointer, PointerRoute route) { - LinkedHashSet routes = _routeMap.putIfAbsent(pointer, () => new LinkedHashSet()); + final LinkedHashSet routes = _routeMap.putIfAbsent(pointer, () => new LinkedHashSet()); assert(!routes.contains(route)); routes.add(route); } @@ -38,7 +38,7 @@ class PointerRouter { /// immediately. void removeRoute(int pointer, PointerRoute route) { assert(_routeMap.containsKey(pointer)); - LinkedHashSet routes = _routeMap[pointer]; + final LinkedHashSet routes = _routeMap[pointer]; assert(routes.contains(route)); routes.remove(route); if (routes.isEmpty) @@ -93,8 +93,8 @@ class PointerRouter { /// Routes are called in the order in which they were added to the /// PointerRouter object. void route(PointerEvent event) { - LinkedHashSet routes = _routeMap[event.pointer]; - List globalRoutes = new List.from(_globalRoutes); + final LinkedHashSet routes = _routeMap[event.pointer]; + final List globalRoutes = new List.from(_globalRoutes); if (routes != null) { for (PointerRoute route in new List.from(routes)) { if (routes.contains(route)) diff --git a/packages/flutter/lib/src/gestures/recognizer.dart b/packages/flutter/lib/src/gestures/recognizer.dart index f3b76465de..6251294d81 100644 --- a/packages/flutter/lib/src/gestures/recognizer.dart +++ b/packages/flutter/lib/src/gestures/recognizer.dart @@ -113,7 +113,7 @@ abstract class OneSequenceGestureRecognizer extends GestureRecognizer { @protected @mustCallSuper void resolve(GestureDisposition disposition) { - List localEntries = new List.from(_entries.values); + final List localEntries = new List.from(_entries.values); _entries.clear(); for (GestureArenaEntry entry in localEntries) entry.resolve(disposition); @@ -303,7 +303,7 @@ abstract class PrimaryPointerGestureRecognizer extends OneSequenceGestureRecogni } double _getDistance(PointerEvent event) { - Offset offset = event.position - initialPosition; + final Offset offset = event.position - initialPosition; return offset.distance; } diff --git a/packages/flutter/lib/src/gestures/scale.dart b/packages/flutter/lib/src/gestures/scale.dart index 769dccc8d1..50c6554ad0 100644 --- a/packages/flutter/lib/src/gestures/scale.dart +++ b/packages/flutter/lib/src/gestures/scale.dart @@ -136,7 +136,7 @@ class ScaleGestureRecognizer extends OneSequenceGestureRecognizer { assert(_state != ScaleState.ready); bool configChanged = false; if (event is PointerMoveEvent) { - VelocityTracker tracker = _velocityTrackers[event.pointer]; + final VelocityTracker tracker = _velocityTrackers[event.pointer]; assert(tracker != null); tracker.addPosition(event.timeStamp, event.position); _pointerLocations[event.pointer] = event.position; @@ -154,7 +154,7 @@ class ScaleGestureRecognizer extends OneSequenceGestureRecognizer { } void _update(bool configChanged, int pointer) { - int count = _pointerLocations.keys.length; + final int count = _pointerLocations.keys.length; // Compute the focal point Point focalPoint = Point.origin; @@ -172,7 +172,7 @@ class ScaleGestureRecognizer extends OneSequenceGestureRecognizer { _initialSpan = _currentSpan; if (_state == ScaleState.started) { if (onEnd != null) { - VelocityTracker tracker = _velocityTrackers[pointer]; + final VelocityTracker tracker = _velocityTrackers[pointer]; assert(tracker != null); Velocity velocity = tracker.getVelocity(); diff --git a/packages/flutter/lib/src/gestures/team.dart b/packages/flutter/lib/src/gestures/team.dart index 65678f7724..8544edb186 100644 --- a/packages/flutter/lib/src/gestures/team.dart +++ b/packages/flutter/lib/src/gestures/team.dart @@ -52,7 +52,7 @@ class _CombiningGestureArenaMember extends GestureArenaMember { void _close() { assert(!_resolved); _resolved = true; - _CombiningGestureArenaMember combiner = _owner._combiners.remove(_pointer); + final _CombiningGestureArenaMember combiner = _owner._combiners.remove(_pointer); assert(combiner == this); } @@ -100,7 +100,7 @@ class GestureArenaTeam { /// To assign a gesture recognizer to a team, see /// [OneSequenceGestureRecognizer.team]. GestureArenaEntry add(int pointer, GestureArenaMember member) { - _CombiningGestureArenaMember combiner = _combiners.putIfAbsent( + final _CombiningGestureArenaMember combiner = _combiners.putIfAbsent( pointer, () => new _CombiningGestureArenaMember(this, pointer)); return combiner._add(pointer, member); } diff --git a/packages/flutter/lib/src/gestures/velocity_tracker.dart b/packages/flutter/lib/src/gestures/velocity_tracker.dart index 4a9888ca84..3cc053984d 100644 --- a/packages/flutter/lib/src/gestures/velocity_tracker.dart +++ b/packages/flutter/lib/src/gestures/velocity_tracker.dart @@ -63,30 +63,30 @@ class _LeastSquaresVelocityTrackerStrategy extends _VelocityTrackerStrategy { @override _Estimate getEstimate() { // Iterate over movement samples in reverse time order and collect samples. - List x = new List(); - List y = new List(); - List w = new List(); - List time = new List(); + final List x = new List(); + final List y = new List(); + final List w = new List(); + final List time = new List(); int m = 0; int index = _index; - _Movement newestMovement = _movements[index]; + final _Movement newestMovement = _movements[index]; _Movement previousMovement = newestMovement; if (newestMovement == null) return null; do { - _Movement movement = _movements[index]; + final _Movement movement = _movements[index]; if (movement == null) break; - double age = (newestMovement.eventTime - movement.eventTime).inMilliseconds.toDouble(); - double delta = (movement.eventTime - previousMovement.eventTime).inMilliseconds.abs().toDouble(); + final double age = (newestMovement.eventTime - movement.eventTime).inMilliseconds.toDouble(); + final double delta = (movement.eventTime - previousMovement.eventTime).inMilliseconds.abs().toDouble(); previousMovement = movement; if (age > kHorizonMilliseconds || delta > kAssumePointerMoveStoppedMilliseconds) break; - Point position = movement.position; + final Point position = movement.position; x.add(position.x); y.add(position.y); w.add(1.0); @@ -102,11 +102,11 @@ class _LeastSquaresVelocityTrackerStrategy extends _VelocityTrackerStrategy { n = m - 1; if (n >= 1) { - LeastSquaresSolver xSolver = new LeastSquaresSolver(time, x, w); - PolynomialFit xFit = xSolver.solve(n); + final LeastSquaresSolver xSolver = new LeastSquaresSolver(time, x, w); + final PolynomialFit xFit = xSolver.solve(n); if (xFit != null) { - LeastSquaresSolver ySolver = new LeastSquaresSolver(time, y, w); - PolynomialFit yFit = ySolver.solve(n); + final LeastSquaresSolver ySolver = new LeastSquaresSolver(time, y, w); + final PolynomialFit yFit = ySolver.solve(n); if (yFit != null) { return new _Estimate( xCoefficients: xFit.coefficients, @@ -223,7 +223,7 @@ class VelocityTracker { /// getVelocity() will return null if no estimate is available or if /// the velocity is zero. Velocity getVelocity() { - _Estimate estimate = _strategy.getEstimate(); + final _Estimate estimate = _strategy.getEstimate(); if (estimate != null && estimate.degree >= 1) { return new Velocity( pixelsPerSecond: new Offset( // convert from pixels/ms to pixels/s diff --git a/packages/flutter/lib/src/material/about.dart b/packages/flutter/lib/src/material/about.dart index 3f1a011f25..f2cdd23ae3 100644 --- a/packages/flutter/lib/src/material/about.dart +++ b/packages/flutter/lib/src/material/about.dart @@ -460,7 +460,7 @@ class _LicensePageState extends State { } String _defaultApplicationName(BuildContext context) { - Title ancestorTitle = context.ancestorWidgetOfExactType(Title); + final Title ancestorTitle = context.ancestorWidgetOfExactType(Title); return ancestorTitle?.title ?? Platform.resolvedExecutable.split(Platform.pathSeparator).last; } diff --git a/packages/flutter/lib/src/material/app.dart b/packages/flutter/lib/src/material/app.dart index c3abbead03..f8c4dae468 100644 --- a/packages/flutter/lib/src/material/app.dart +++ b/packages/flutter/lib/src/material/app.dart @@ -209,7 +209,7 @@ class _MaterialAppState extends State { @override Widget build(BuildContext context) { - ThemeData theme = config.theme ?? new ThemeData.fallback(); + final ThemeData theme = config.theme ?? new ThemeData.fallback(); Widget result = new AnimatedTheme( data: theme, isMaterialAppTheme: true, diff --git a/packages/flutter/lib/src/material/app_bar.dart b/packages/flutter/lib/src/material/app_bar.dart index 6264ed73e3..bac5e217a6 100644 --- a/packages/flutter/lib/src/material/app_bar.dart +++ b/packages/flutter/lib/src/material/app_bar.dart @@ -337,7 +337,7 @@ class _AppBarState extends State { @override void dependenciesChanged() { super.dependenciesChanged(); - ScaffoldState scaffold = Scaffold.of(context); + final ScaffoldState scaffold = Scaffold.of(context); _hasDrawer = scaffold?.hasDrawer ?? false; _canPop = ModalRoute.of(context)?.canPop ?? false; } @@ -354,7 +354,7 @@ class _AppBarState extends State { TextStyle centerStyle = config.textTheme?.title ?? themeData.primaryTextTheme.title; TextStyle sideStyle = config.textTheme?.body1 ?? themeData.primaryTextTheme.body1; - Brightness brightness = config.brightness ?? themeData.primaryColorBrightness; + final Brightness brightness = config.brightness ?? themeData.primaryColorBrightness; SystemChrome.setSystemUIOverlayStyle(brightness == Brightness.dark ? SystemUiOverlayStyle.light : SystemUiOverlayStyle.dark); @@ -419,7 +419,7 @@ class _AppBarState extends State { ); } - Widget toolbar = new Padding( + final Widget toolbar = new Padding( padding: const EdgeInsets.only(right: 4.0), child: new CustomMultiChildLayout( delegate: new _ToolbarLayout( diff --git a/packages/flutter/lib/src/material/arc.dart b/packages/flutter/lib/src/material/arc.dart index f4bf4c01ff..59f06143c8 100644 --- a/packages/flutter/lib/src/material/arc.dart +++ b/packages/flutter/lib/src/material/arc.dart @@ -167,7 +167,7 @@ T _maxBy(Iterable input, _KeyFunc keyFunc) { T maxValue; dynamic maxKey; for (T value in input) { - dynamic key = keyFunc(value); + final dynamic key = keyFunc(value); if (maxKey == null || key > maxKey) { maxValue = value; maxKey = key; diff --git a/packages/flutter/lib/src/material/bottom_navigation_bar.dart b/packages/flutter/lib/src/material/bottom_navigation_bar.dart index 5bb78bd28d..d745ba71da 100644 --- a/packages/flutter/lib/src/material/bottom_navigation_bar.dart +++ b/packages/flutter/lib/src/material/bottom_navigation_bar.dart @@ -285,7 +285,7 @@ class BottomNavigationBarState extends State with TickerPro )..controller.addStatusListener((AnimationStatus status) { if (status == AnimationStatus.completed) { setState(() { - _Circle circle = _circles.removeFirst(); + final _Circle circle = _circles.removeFirst(); _backgroundColor = circle.color; circle.dispose(); }); @@ -575,8 +575,8 @@ class _RadialPainter extends CustomPainter { final Paint paint = new Paint()..color = circle.color; final Rect rect = new Rect.fromLTWH(0.0, 0.0, size.width, size.height); canvas.clipRect(rect); - double navWidth = math.min(bottomNavMaxWidth, size.width); - Point center = new Point( + final double navWidth = math.min(bottomNavMaxWidth, size.width); + final Point center = new Point( (size.width - navWidth) / 2.0 + circle.offset.dx * navWidth, circle.offset.dy * size.height ); diff --git a/packages/flutter/lib/src/material/bottom_sheet.dart b/packages/flutter/lib/src/material/bottom_sheet.dart index 573f07165a..ca94a8a931 100644 --- a/packages/flutter/lib/src/material/bottom_sheet.dart +++ b/packages/flutter/lib/src/material/bottom_sheet.dart @@ -109,7 +109,7 @@ class _BottomSheetState extends State { if (_dismissUnderway) return; if (details.velocity.pixelsPerSecond.dy > _kMinFlingVelocity) { - double flingVelocity = -details.velocity.pixelsPerSecond.dy / _childHeight; + final double flingVelocity = -details.velocity.pixelsPerSecond.dy / _childHeight; if (config.animationController.value > 0.0) config.animationController.fling(velocity: flingVelocity); if (flingVelocity < 0.0) diff --git a/packages/flutter/lib/src/material/button.dart b/packages/flutter/lib/src/material/button.dart index 75c4d8a726..1cc1452e36 100644 --- a/packages/flutter/lib/src/material/button.dart +++ b/packages/flutter/lib/src/material/button.dart @@ -100,7 +100,7 @@ class ButtonTheme extends InheritedWidget { /// ButtonTheme theme = ButtonTheme.of(context); /// ``` static ButtonTheme of(BuildContext context) { - ButtonTheme result = context.inheritFromWidgetOfExactType(ButtonTheme); + final ButtonTheme result = context.inheritFromWidgetOfExactType(ButtonTheme); return result ?? const ButtonTheme(); } diff --git a/packages/flutter/lib/src/material/checkbox.dart b/packages/flutter/lib/src/material/checkbox.dart index 5948cc8c2d..36fb01a281 100644 --- a/packages/flutter/lib/src/material/checkbox.dart +++ b/packages/flutter/lib/src/material/checkbox.dart @@ -91,7 +91,7 @@ class _CheckboxState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); return new _CheckboxRenderObjectWidget( value: config.value, activeColor: config.activeColor ?? themeData.accentColor, @@ -174,40 +174,40 @@ class _RenderCheckbox extends RenderToggleable { paintRadialReaction(canvas, offset, size.center(Point.origin)); - double t = position.value; + final double t = position.value; Color borderColor = inactiveColor; if (onChanged != null) borderColor = t >= 0.25 ? activeColor : Color.lerp(inactiveColor, activeColor, t * 4.0); - Paint paint = new Paint() + final Paint paint = new Paint() ..color = borderColor; - double inset = 1.0 - (t - 0.5).abs() * 2.0; - double rectSize = _kEdgeSize - inset * _kStrokeWidth; - Rect rect = new Rect.fromLTWH(offsetX + inset, offsetY + inset, rectSize, rectSize); + final double inset = 1.0 - (t - 0.5).abs() * 2.0; + final double rectSize = _kEdgeSize - inset * _kStrokeWidth; + final Rect rect = new Rect.fromLTWH(offsetX + inset, offsetY + inset, rectSize, rectSize); - RRect outer = new RRect.fromRectAndRadius(rect, _kEdgeRadius); + final RRect outer = new RRect.fromRectAndRadius(rect, _kEdgeRadius); if (t <= 0.5) { // Outline - RRect inner = outer.deflate(math.min(rectSize / 2.0, _kStrokeWidth + rectSize * t)); + final RRect inner = outer.deflate(math.min(rectSize / 2.0, _kStrokeWidth + rectSize * t)); canvas.drawDRRect(outer, inner, paint); } else { // Background canvas.drawRRect(outer, paint); // White inner check - double value = (t - 0.5) * 2.0; + final double value = (t - 0.5) * 2.0; paint ..color = const Color(0xFFFFFFFF) ..style = PaintingStyle.stroke ..strokeWidth = _kStrokeWidth; - Path path = new Path(); - Point start = const Point(_kEdgeSize * 0.15, _kEdgeSize * 0.45); - Point mid = const Point(_kEdgeSize * 0.4, _kEdgeSize * 0.7); - Point end = const Point(_kEdgeSize * 0.85, _kEdgeSize * 0.25); - Point drawStart = Point.lerp(start, mid, 1.0 - value); - Point drawEnd = Point.lerp(mid, end, value); + final Path path = new Path(); + final Point start = const Point(_kEdgeSize * 0.15, _kEdgeSize * 0.45); + final Point mid = const Point(_kEdgeSize * 0.4, _kEdgeSize * 0.7); + final Point end = const Point(_kEdgeSize * 0.85, _kEdgeSize * 0.25); + final Point drawStart = Point.lerp(start, mid, 1.0 - value); + final Point drawEnd = Point.lerp(mid, end, value); path.moveTo(offsetX + drawStart.x, offsetY + drawStart.y); path.lineTo(offsetX + mid.x, offsetY + mid.y); path.lineTo(offsetX + drawEnd.x, offsetY + drawEnd.y); diff --git a/packages/flutter/lib/src/material/chip.dart b/packages/flutter/lib/src/material/chip.dart index 2ef2728acd..53f615c834 100644 --- a/packages/flutter/lib/src/material/chip.dart +++ b/packages/flutter/lib/src/material/chip.dart @@ -69,7 +69,7 @@ class Chip extends StatelessWidget { double leftPadding = 12.0; double rightPadding = 12.0; - List children = []; + final List children = []; if (avatar != null) { leftPadding = 0.0; diff --git a/packages/flutter/lib/src/material/data_table.dart b/packages/flutter/lib/src/material/data_table.dart index a5196c99ae..3da586719a 100644 --- a/packages/flutter/lib/src/material/data_table.dart +++ b/packages/flutter/lib/src/material/data_table.dart @@ -317,7 +317,7 @@ class DataTable extends StatelessWidget { static int _initOnlyTextColumn(List columns) { int result; for (int index = 0; index < columns.length; index += 1) { - DataColumn column = columns[index]; + final DataColumn column = columns[index]; if (!column.numeric) { if (result != null) return null; @@ -507,8 +507,8 @@ class DataTable extends StatelessWidget { final bool showCheckboxColumn = rows.any((DataRow row) => row.onSelectChanged != null); final bool allChecked = showCheckboxColumn && !rows.any((DataRow row) => row.onSelectChanged != null && !row.selected); - List tableColumns = new List(columns.length + (showCheckboxColumn ? 1 : 0)); - List tableRows = new List.generate( + final List tableColumns = new List(columns.length + (showCheckboxColumn ? 1 : 0)); + final List tableRows = new List.generate( rows.length + 1, // the +1 is for the header row (int index) { return new TableRow( @@ -544,7 +544,7 @@ class DataTable extends StatelessWidget { } for (int dataColumnIndex = 0; dataColumnIndex < columns.length; dataColumnIndex += 1) { - DataColumn column = columns[dataColumnIndex]; + final DataColumn column = columns[dataColumnIndex]; final EdgeInsets padding = new EdgeInsets.fromLTRB( dataColumnIndex == 0 ? showCheckboxColumn ? _kTablePadding / 2.0 : _kTablePadding : _kColumnSpacing / 2.0, 0.0, @@ -568,7 +568,7 @@ class DataTable extends StatelessWidget { ); rowIndex = 1; for (DataRow row in rows) { - DataCell cell = row.cells[dataColumnIndex]; + final DataCell cell = row.cells[dataColumnIndex]; tableRows[rowIndex].children[displayColumnIndex] = _buildDataCell( context: context, padding: padding, @@ -629,22 +629,22 @@ class TableRowInkWell extends InkResponse { return () { RenderObject cell = referenceBox; AbstractNode table = cell.parent; - Matrix4 transform = new Matrix4.identity(); + final Matrix4 transform = new Matrix4.identity(); while (table is RenderObject && table is! RenderTable) { - RenderTable parentBox = table; + final RenderTable parentBox = table; parentBox.applyPaintTransform(cell, transform); assert(table == cell.parent); cell = table; table = table.parent; } if (table is RenderTable) { - TableCellParentData cellParentData = cell.parentData; + final TableCellParentData cellParentData = cell.parentData; assert(cellParentData.y != null); - Rect rect = table.getRowBox(cellParentData.y); + final Rect rect = table.getRowBox(cellParentData.y); // The rect is in the table's coordinate space. We need to change it to the // TableRowInkWell's coordinate space. table.applyPaintTransform(cell, transform); - Offset offset = MatrixUtils.getAsTranslation(transform); + final Offset offset = MatrixUtils.getAsTranslation(transform); if (offset != null) return rect.shift(-offset); } @@ -734,7 +734,7 @@ class _SortArrowState extends State<_SortArrow> with TickerProviderStateMixin { void didUpdateConfig(_SortArrow oldConfig) { super.didUpdateConfig(oldConfig); bool skipArrow = false; - bool newDown = config.down != null ? config.down : _down; + final bool newDown = config.down != null ? config.down : _down; if (oldConfig.visible != config.visible) { if (config.visible && (_opacityController.status == AnimationStatus.dismissed)) { _orientationController.stop(); diff --git a/packages/flutter/lib/src/material/date_picker.dart b/packages/flutter/lib/src/material/date_picker.dart index ea4621e38c..348f1d1be3 100644 --- a/packages/flutter/lib/src/material/date_picker.dart +++ b/packages/flutter/lib/src/material/date_picker.dart @@ -68,8 +68,8 @@ class _DatePickerHeader extends StatelessWidget { @override Widget build(BuildContext context) { - ThemeData themeData = Theme.of(context); - TextTheme headerTextTheme = themeData.primaryTextTheme; + final ThemeData themeData = Theme.of(context); + final TextTheme headerTextTheme = themeData.primaryTextTheme; Color dayColor; Color yearColor; switch(themeData.primaryColorBrightness) { @@ -82,8 +82,8 @@ class _DatePickerHeader extends StatelessWidget { yearColor = mode == _DatePickerMode.year ? Colors.white : Colors.white70; break; } - TextStyle dayStyle = headerTextTheme.display1.copyWith(color: dayColor, height: 1.4); - TextStyle yearStyle = headerTextTheme.subhead.copyWith(color: yearColor, height: 1.4); + final TextStyle dayStyle = headerTextTheme.display1.copyWith(color: dayColor, height: 1.4); + final TextStyle yearStyle = headerTextTheme.subhead.copyWith(color: yearColor, height: 1.4); Color backgroundColor; switch (themeData.brightness) { @@ -386,7 +386,7 @@ class _MonthPickerState extends State { void _updateCurrentDate() { _todayDate = new DateTime.now(); - DateTime tomorrow = new DateTime(_todayDate.year, _todayDate.month, _todayDate.day + 1); + final DateTime tomorrow = new DateTime(_todayDate.year, _todayDate.month, _todayDate.day + 1); Duration timeUntilTomorrow = tomorrow.difference(_todayDate); timeUntilTomorrow += const Duration(seconds: 1); // so we don't miss it by rounding if (_timer != null) @@ -668,13 +668,13 @@ class _DatePickerDialogState extends State<_DatePickerDialog> { @override Widget build(BuildContext context) { - Widget picker = new Flexible( + final Widget picker = new Flexible( child: new SizedBox( height: _kMaxDayPickerHeight, child: _buildPicker(), ), ); - Widget actions = new ButtonTheme.bar( + final Widget actions = new ButtonTheme.bar( child: new ButtonBar( children: [ new FlatButton( @@ -692,7 +692,7 @@ class _DatePickerDialogState extends State<_DatePickerDialog> { return new Dialog( child: new OrientationBuilder( builder: (BuildContext context, Orientation orientation) { - Widget header = new _DatePickerHeader( + final Widget header = new _DatePickerHeader( selectedDate: _selectedDate, mode: _mode, onModeChanged: _handleModeChanged, diff --git a/packages/flutter/lib/src/material/debug.dart b/packages/flutter/lib/src/material/debug.dart index 3ed0dab37b..91b34e0fbf 100644 --- a/packages/flutter/lib/src/material/debug.dart +++ b/packages/flutter/lib/src/material/debug.dart @@ -22,7 +22,7 @@ import 'material.dart'; bool debugCheckHasMaterial(BuildContext context) { assert(() { if (context.widget is! Material && context.ancestorWidgetOfExactType(Material) == null) { - Element element = context; + final Element element = context; throw new FlutterError( 'No Material widget found.\n' '${context.widget.runtimeType} widgets require a Material widget ancestor.\n' diff --git a/packages/flutter/lib/src/material/drawer.dart b/packages/flutter/lib/src/material/drawer.dart index 27a35929c3..a1ed1c04b8 100644 --- a/packages/flutter/lib/src/material/drawer.dart +++ b/packages/flutter/lib/src/material/drawer.dart @@ -148,7 +148,7 @@ class DrawerControllerState extends State with SingleTickerPro void _ensureHistoryEntry() { if (_historyEntry == null) { - ModalRoute route = ModalRoute.of(context); + final ModalRoute route = ModalRoute.of(context); if (route != null) { _historyEntry = new LocalHistoryEntry(onRemove: _handleHistoryEntryRemoved); route.addLocalHistoryEntry(_historyEntry); @@ -196,7 +196,7 @@ class DrawerControllerState extends State with SingleTickerPro } double get _width { - RenderBox drawerBox = _drawerKey.currentContext?.findRenderObject(); + final RenderBox drawerBox = _drawerKey.currentContext?.findRenderObject(); if (drawerBox != null) return drawerBox.size.width; return _kWidth; // drawer not being shown currently diff --git a/packages/flutter/lib/src/material/drawer_item.dart b/packages/flutter/lib/src/material/drawer_item.dart index a8386ca588..c7136d9b01 100644 --- a/packages/flutter/lib/src/material/drawer_item.dart +++ b/packages/flutter/lib/src/material/drawer_item.dart @@ -84,7 +84,7 @@ class DrawerItem extends StatelessWidget { } TextStyle _getTextStyle(ThemeData themeData) { - TextStyle result = themeData.textTheme.body2; + final TextStyle result = themeData.textTheme.body2; if (selected) { switch (themeData.brightness) { case Brightness.light: @@ -99,9 +99,9 @@ class DrawerItem extends StatelessWidget { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); - List children = []; + final List children = []; if (icon != null) { children.add( new Padding( diff --git a/packages/flutter/lib/src/material/expansion_panel.dart b/packages/flutter/lib/src/material/expansion_panel.dart index 8970aa514b..ea01ec0ae0 100644 --- a/packages/flutter/lib/src/material/expansion_panel.dart +++ b/packages/flutter/lib/src/material/expansion_panel.dart @@ -114,7 +114,7 @@ class ExpansionPanelList extends StatelessWidget { if (_isChildExpanded(i) && i != 0 && !_isChildExpanded(i - 1)) items.add(new MaterialGap(key: new ValueKey(i * 2 - 1))); - Row header = new Row( + final Row header = new Row( children: [ new Expanded( child: new AnimatedContainer( diff --git a/packages/flutter/lib/src/material/flexible_space_bar.dart b/packages/flutter/lib/src/material/flexible_space_bar.dart index c9686c9dd8..cfc873371a 100644 --- a/packages/flutter/lib/src/material/flexible_space_bar.dart +++ b/packages/flutter/lib/src/material/flexible_space_bar.dart @@ -94,7 +94,7 @@ class _FlexibleSpaceBarState extends State { @override Widget build(BuildContext context) { - _FlexibleSpaceBarSettings settings = context.inheritFromWidgetOfExactType(_FlexibleSpaceBarSettings); + final _FlexibleSpaceBarSettings settings = context.inheritFromWidgetOfExactType(_FlexibleSpaceBarSettings); assert(settings != null, 'A FlexibleSpaceBar must be wrapped in the widget returned by FlexibleSpaceBar.createSettings().'); final List children = []; diff --git a/packages/flutter/lib/src/material/grid_tile_bar.dart b/packages/flutter/lib/src/material/grid_tile_bar.dart index ce4c761cf8..bca6c095a9 100644 --- a/packages/flutter/lib/src/material/grid_tile_bar.dart +++ b/packages/flutter/lib/src/material/grid_tile_bar.dart @@ -73,8 +73,8 @@ class GridTileBar extends StatelessWidget { if (leading != null) children.add(new Padding(padding: const EdgeInsets.only(right: 8.0), child: leading)); - ThemeData theme = Theme.of(context); - ThemeData darkTheme = new ThemeData( + final ThemeData theme = Theme.of(context); + final ThemeData darkTheme = new ThemeData( brightness: Brightness.dark, accentColor: theme.accentColor, accentColorBrightness: theme.accentColorBrightness diff --git a/packages/flutter/lib/src/material/icon_theme.dart b/packages/flutter/lib/src/material/icon_theme.dart index a91471a06c..461ac5e745 100644 --- a/packages/flutter/lib/src/material/icon_theme.dart +++ b/packages/flutter/lib/src/material/icon_theme.dart @@ -56,12 +56,12 @@ class IconTheme extends InheritedWidget { /// IconThemeData theme = IconTheme.of(context); /// ``` static IconThemeData of(BuildContext context) { - IconThemeData iconThemeData = _getInheritedIconThemData(context); + final IconThemeData iconThemeData = _getInheritedIconThemData(context); return iconThemeData.isConcrete ? iconThemeData : const IconThemeData.fallback().merge(iconThemeData); } static IconThemeData _getInheritedIconThemData(BuildContext context) { - IconTheme iconTheme = context.inheritFromWidgetOfExactType(IconTheme); + final IconTheme iconTheme = context.inheritFromWidgetOfExactType(IconTheme); return iconTheme?.data ?? Theme.of(context).iconTheme; } diff --git a/packages/flutter/lib/src/material/icon_theme_data.dart b/packages/flutter/lib/src/material/icon_theme_data.dart index 54ffdfc9d2..d1b8dd8471 100644 --- a/packages/flutter/lib/src/material/icon_theme_data.dart +++ b/packages/flutter/lib/src/material/icon_theme_data.dart @@ -87,7 +87,7 @@ class IconThemeData { @override String toString() { - List result = []; + final List result = []; if (color != null) result.add('color: $color'); if (_opacity != null) diff --git a/packages/flutter/lib/src/material/ink_splash.dart b/packages/flutter/lib/src/material/ink_splash.dart index c40753ae0b..39a8907441 100644 --- a/packages/flutter/lib/src/material/ink_splash.dart +++ b/packages/flutter/lib/src/material/ink_splash.dart @@ -35,10 +35,10 @@ double _getTargetRadius(RenderBox referenceBox, bool containedInkWell, RectCallb } double _getSplashRadiusForPoistionInSize(Size bounds, Point position) { - double d1 = (position - bounds.topLeft(Point.origin)).distance; - double d2 = (position - bounds.topRight(Point.origin)).distance; - double d3 = (position - bounds.bottomLeft(Point.origin)).distance; - double d4 = (position - bounds.bottomRight(Point.origin)).distance; + final double d1 = (position - bounds.topLeft(Point.origin)).distance; + final double d2 = (position - bounds.topRight(Point.origin)).distance; + final double d3 = (position - bounds.bottomLeft(Point.origin)).distance; + final double d4 = (position - bounds.bottomRight(Point.origin)).distance; return math.max(math.max(d1, d2), math.max(d3, d4)).ceilToDouble(); } diff --git a/packages/flutter/lib/src/material/input.dart b/packages/flutter/lib/src/material/input.dart index 501eecc3c3..dbe2b44e4e 100644 --- a/packages/flutter/lib/src/material/input.dart +++ b/packages/flutter/lib/src/material/input.dart @@ -157,7 +157,7 @@ class _InputFieldState extends State { ]; if (config.hintText != null && value.text.isEmpty) { - TextStyle hintStyle = config.hintStyle ?? + final TextStyle hintStyle = config.hintStyle ?? textStyle.copyWith(color: themeData.hintColor); stackChildren.add( new Positioned( @@ -255,8 +255,8 @@ class _InputContainerState extends State { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); - ThemeData themeData = Theme.of(context); - String errorText = config.errorText; + final ThemeData themeData = Theme.of(context); + final String errorText = config.errorText; final TextStyle textStyle = config.style ?? themeData.textTheme.subhead; Color activeColor = themeData.hintColor; @@ -272,7 +272,7 @@ class _InputContainerState extends State { } double topPadding = config.isDense ? 12.0 : 16.0; - List stackChildren = []; + final List stackChildren = []; // If we're not focused, there's not value, and labelText was provided, // then the label appears where the hint would. And we will not show @@ -308,7 +308,7 @@ class _InputContainerState extends State { } if (config.hintText != null) { - TextStyle hintStyle = textStyle.copyWith(color: themeData.hintColor); + final TextStyle hintStyle = textStyle.copyWith(color: themeData.hintColor); stackChildren.add( new Positioned( left: 0.0, @@ -325,19 +325,19 @@ class _InputContainerState extends State { ); } - Color borderColor = errorText == null ? activeColor : themeData.errorColor; - double bottomPadding = config.isDense ? 8.0 : 1.0; - double bottomBorder = 2.0; - double bottomHeight = config.isDense ? 14.0 : 18.0; + final Color borderColor = errorText == null ? activeColor : themeData.errorColor; + final double bottomPadding = config.isDense ? 8.0 : 1.0; + final double bottomBorder = 2.0; + final double bottomHeight = config.isDense ? 14.0 : 18.0; - EdgeInsets padding = new EdgeInsets.only(top: topPadding, bottom: bottomPadding); - Border border = new Border( + final EdgeInsets padding = new EdgeInsets.only(top: topPadding, bottom: bottomPadding); + final Border border = new Border( bottom: new BorderSide( color: borderColor, width: bottomBorder, ) ); - EdgeInsets margin = new EdgeInsets.only(bottom: bottomHeight - (bottomPadding + bottomBorder)); + final EdgeInsets margin = new EdgeInsets.only(bottom: bottomHeight - (bottomPadding + bottomBorder)); Widget divider; if (!config.showDivider) { @@ -361,7 +361,7 @@ class _InputContainerState extends State { stackChildren.add(divider); if (!config.isDense) { - TextStyle errorStyle = themeData.textTheme.caption.copyWith(color: themeData.errorColor); + final TextStyle errorStyle = themeData.textTheme.caption.copyWith(color: themeData.errorColor); stackChildren.add(new Positioned( left: 0.0, bottom: 0.0, @@ -372,8 +372,8 @@ class _InputContainerState extends State { Widget textField = new Stack(children: stackChildren); if (config.icon != null) { - double iconSize = config.isDense ? 18.0 : 24.0; - double iconTop = topPadding + (textStyle.fontSize - iconSize) / 2.0; + final double iconSize = config.isDense ? 18.0 : 24.0; + final double iconTop = topPadding + (textStyle.fontSize - iconSize) / 2.0; textField = new Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart index 025168c6b6..8a303782bb 100644 --- a/packages/flutter/lib/src/material/material.dart +++ b/packages/flutter/lib/src/material/material.dart @@ -203,10 +203,10 @@ class _MaterialState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { - Color backgroundColor = _getBackgroundColor(context); + final Color backgroundColor = _getBackgroundColor(context); assert(backgroundColor != null || config.type == MaterialType.transparency); Widget contents = config.child; - BorderRadius radius = config.borderRadius ?? kMaterialEdges[config.type]; + final BorderRadius radius = config.borderRadius ?? kMaterialEdges[config.type]; if (contents != null) { contents = new AnimatedDefaultTextStyle( style: config.textStyle ?? Theme.of(context).textTheme.body1, @@ -216,7 +216,7 @@ class _MaterialState extends State with TickerProviderStateMixin { } contents = new NotificationListener( onNotification: (LayoutChangedNotification notification) { - _RenderInkFeatures renderer = _inkFeatureRenderer.currentContext.findRenderObject(); + final _RenderInkFeatures renderer = _inkFeatureRenderer.currentContext.findRenderObject(); renderer._didChangeLayout(); return true; }, diff --git a/packages/flutter/lib/src/material/mergeable_material.dart b/packages/flutter/lib/src/material/mergeable_material.dart index 8241853e69..3b7bffcdcc 100644 --- a/packages/flutter/lib/src/material/mergeable_material.dart +++ b/packages/flutter/lib/src/material/mergeable_material.dart @@ -239,7 +239,7 @@ class _MergeableMaterialState extends State with TickerProvid } void _removeChild(int index) { - MergeableMaterialItem child = _children.removeAt(index); + final MergeableMaterialItem child = _children.removeAt(index); if (child is MaterialGap) _animationTuples[child.key] = null; @@ -316,7 +316,7 @@ class _MergeableMaterialState extends State with TickerProvid while (startOld < j) { if (_children[startOld] is MaterialGap) { - MaterialGap gap = _children[startOld]; + final MaterialGap gap = _children[startOld]; gapSizeSum += gap.size; } @@ -357,7 +357,7 @@ class _MergeableMaterialState extends State with TickerProvid for (int k = startNew; k < i; k += 1) { if (newChildren[k] is MaterialGap) { - MaterialGap gap = newChildren[k]; + final MaterialGap gap = newChildren[k]; gapSizeSum += gap.size; } } @@ -366,7 +366,7 @@ class _MergeableMaterialState extends State with TickerProvid // animate to their actual size. for (int k = startNew; k < i; k += 1) { if (newChildren[k] is MaterialGap) { - MaterialGap gap = newChildren[k]; + final MaterialGap gap = newChildren[k]; _animationTuples[gap.key].gapStart = gapSize * gap.size / gapSizeSum; @@ -382,7 +382,7 @@ class _MergeableMaterialState extends State with TickerProvid _insertChild(startOld + k, newChildren[startNew + k]); if (newChildren[startNew + k] is MaterialGap) { - MaterialGap gap = newChildren[startNew + k]; + final MaterialGap gap = newChildren[startNew + k]; _animationTuples[gap.key].controller.forward(); } } @@ -397,7 +397,7 @@ class _MergeableMaterialState extends State with TickerProvid while (startOld < j) { if (_children[startOld] is MaterialGap) { - MaterialGap gap = _children[startOld]; + final MaterialGap gap = _children[startOld]; gapSizeSum += gap.size; } @@ -406,7 +406,7 @@ class _MergeableMaterialState extends State with TickerProvid } if (gapSizeSum != 0.0) { - MaterialGap gap = new MaterialGap( + final MaterialGap gap = new MaterialGap( key: new UniqueKey(), size: gapSizeSum ); @@ -420,7 +420,7 @@ class _MergeableMaterialState extends State with TickerProvid } } else if (oldLength == 1) { // Shrink gap. - MaterialGap gap = _children[startOld]; + final MaterialGap gap = _children[startOld]; _animationTuples[gap.key].gapStart = 0.0; _animationTuples[gap.key].controller.reverse(); } @@ -487,7 +487,7 @@ class _MergeableMaterialState extends State with TickerProvid } double _getGapSize(int index) { - MaterialGap gap = _children[index]; + final MaterialGap gap = _children[index]; return lerpDouble( _animationTuples[gap.key].gapStart, @@ -537,7 +537,7 @@ class _MergeableMaterialState extends State with TickerProvid ) ); } else { - MaterialSlice slice = _children[i]; + final MaterialSlice slice = _children[i]; Widget child = slice.child; if (config.hasDividers) { @@ -656,7 +656,7 @@ class _MergeableMaterialBlockBody extends BlockBody { @override void updateRenderObject(BuildContext context, RenderBlock renderObject) { - _MergeableMaterialRenderBlock materialRenderBlock = renderObject; + final _MergeableMaterialRenderBlock materialRenderBlock = renderObject; materialRenderBlock ..mainAxis = mainAxis ..boxShadows = boxShadows; diff --git a/packages/flutter/lib/src/material/page.dart b/packages/flutter/lib/src/material/page.dart index 9dc335e963..23ef1cac42 100644 --- a/packages/flutter/lib/src/material/page.dart +++ b/packages/flutter/lib/src/material/page.dart @@ -250,7 +250,7 @@ class MaterialPageRoute extends PageRoute { @override Widget buildPage(BuildContext context, Animation animation, Animation forwardAnimation) { - Widget result = builder(context); + final Widget result = builder(context); assert(() { if (result == null) { throw new FlutterError( diff --git a/packages/flutter/lib/src/material/paginated_data_table.dart b/packages/flutter/lib/src/material/paginated_data_table.dart index ff592abff8..685dc5ea3e 100644 --- a/packages/flutter/lib/src/material/paginated_data_table.dart +++ b/packages/flutter/lib/src/material/paginated_data_table.dart @@ -281,7 +281,7 @@ class PaginatedDataTableState extends State { @override Widget build(BuildContext context) { // TODO(ianh): This whole build function doesn't handle RTL yet. - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); // HEADER final List headerWidgets = []; double leftPadding = 24.0; @@ -318,7 +318,7 @@ class PaginatedDataTableState extends State { final TextStyle footerTextStyle = themeData.textTheme.caption; final List footerWidgets = []; if (config.onRowsPerPageChanged != null) { - List availableRowsPerPage = config.availableRowsPerPage + final List availableRowsPerPage = config.availableRowsPerPage .where((int value) => value <= _rowCount) .map>((int value) { return new DropdownMenuItem( diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart index b465d65e10..ed40f26ec0 100644 --- a/packages/flutter/lib/src/material/popup_menu.dart +++ b/packages/flutter/lib/src/material/popup_menu.dart @@ -262,13 +262,13 @@ class _PopupMenu extends StatelessWidget { @override Widget build(BuildContext context) { - double unit = 1.0 / (route.items.length + 1.5); // 1.0 for the width and 0.5 for the last item's fade. - List children = []; + final double unit = 1.0 / (route.items.length + 1.5); // 1.0 for the width and 0.5 for the last item's fade. + final List children = []; for (int i = 0; i < route.items.length; ++i) { final double start = (i + 1) * unit; final double end = (start + 1.5 * unit).clamp(0.0, 1.0); - CurvedAnimation opacity = new CurvedAnimation( + final CurvedAnimation opacity = new CurvedAnimation( parent: route.animation, curve: new Interval(start, end) ); @@ -289,7 +289,7 @@ class _PopupMenu extends StatelessWidget { final CurveTween width = new CurveTween(curve: new Interval(0.0, unit)); final CurveTween height = new CurveTween(curve: new Interval(0.0, unit * route.items.length)); - Widget child = new ConstrainedBox( + final Widget child = new ConstrainedBox( constraints: const BoxConstraints( minWidth: _kMenuMinWidth, maxWidth: _kMenuMaxWidth, diff --git a/packages/flutter/lib/src/material/progress_indicator.dart b/packages/flutter/lib/src/material/progress_indicator.dart index ae0fb22570..e5d07ddd36 100644 --- a/packages/flutter/lib/src/material/progress_indicator.dart +++ b/packages/flutter/lib/src/material/progress_indicator.dart @@ -86,20 +86,20 @@ class _LinearProgressIndicatorPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - Paint paint = new Paint() + final Paint paint = new Paint() ..color = backgroundColor ..style = PaintingStyle.fill; canvas.drawRect(Point.origin & size, paint); paint.color = valueColor; if (value != null) { - double width = value.clamp(0.0, 1.0) * size.width; + final double width = value.clamp(0.0, 1.0) * size.width; canvas.drawRect(Point.origin & new Size(width, size.height), paint); } else { - double startX = size.width * (1.5 * animationValue - 0.5); - double endX = startX + 0.5 * size.width; - double x = startX.clamp(0.0, size.width); - double width = endX.clamp(0.0, size.width) - x; + final double startX = size.width * (1.5 * animationValue - 0.5); + final double endX = startX + 0.5 * size.width; + final double x = startX.clamp(0.0, size.width); + final double width = endX.clamp(0.0, size.width) - x; canvas.drawRect(new Point(x, 0.0) & new Size(width, size.height), paint); } } @@ -236,7 +236,7 @@ class _CircularProgressIndicatorPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - Paint paint = new Paint() + final Paint paint = new Paint() ..color = valueColor ..strokeWidth = strokeWidth ..style = PaintingStyle.stroke; @@ -409,12 +409,12 @@ class _RefreshProgressIndicatorPainter extends _CircularProgressIndicatorPainter final double innerRadius = radius - arrowheadRadius; final double outerRadius = radius + arrowheadRadius; - Path path = new Path() + final Path path = new Path() ..moveTo(radius + ux * innerRadius, radius + uy * innerRadius) ..lineTo(radius + ux * outerRadius, radius + uy * outerRadius) ..lineTo(arrowheadPointX, arrowheadPointY) ..close(); - Paint paint = new Paint() + final Paint paint = new Paint() ..color = valueColor ..strokeWidth = strokeWidth ..style = PaintingStyle.fill; diff --git a/packages/flutter/lib/src/material/radio.dart b/packages/flutter/lib/src/material/radio.dart index 462bfefef7..ca24454026 100644 --- a/packages/flutter/lib/src/material/radio.dart +++ b/packages/flutter/lib/src/material/radio.dart @@ -112,7 +112,7 @@ class _RadioState extends State> with TickerProviderStateMixin { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); return new Semantics( checked: config.value == config.groupValue, child: new _RadioRenderObjectWidget( @@ -192,11 +192,11 @@ class _RenderRadio extends RenderToggleable { paintRadialReaction(canvas, offset, const Point(kRadialReactionRadius, kRadialReactionRadius)); - Point center = (offset & size).center; - Color radioColor = onChanged != null ? activeColor : inactiveColor; + final Point center = (offset & size).center; + final Color radioColor = onChanged != null ? activeColor : inactiveColor; // Outer circle - Paint paint = new Paint() + final Paint paint = new Paint() ..color = Color.lerp(inactiveColor, radioColor, position.value) ..style = PaintingStyle.stroke ..strokeWidth = 2.0; diff --git a/packages/flutter/lib/src/material/raised_button.dart b/packages/flutter/lib/src/material/raised_button.dart index 5dba2108c3..6f0e925bee 100644 --- a/packages/flutter/lib/src/material/raised_button.dart +++ b/packages/flutter/lib/src/material/raised_button.dart @@ -112,7 +112,7 @@ class RaisedButton extends StatelessWidget { } else { if (disabledColor != null) return disabledColor; - Brightness brightness = Theme.of(context).brightness; + final Brightness brightness = Theme.of(context).brightness; assert(brightness != null); switch (brightness) { case Brightness.light: diff --git a/packages/flutter/lib/src/material/refresh_indicator.dart b/packages/flutter/lib/src/material/refresh_indicator.dart index 4704393d4a..125f79dee6 100644 --- a/packages/flutter/lib/src/material/refresh_indicator.dart +++ b/packages/flutter/lib/src/material/refresh_indicator.dart @@ -303,7 +303,7 @@ class RefreshIndicatorState extends State with TickerProviderS void _show() { assert(_mode != _RefreshIndicatorMode.refresh); assert(_mode != _RefreshIndicatorMode.snap); - Completer completer = new Completer(); + final Completer completer = new Completer(); _pendingRefreshFuture = completer.future; _mode = _RefreshIndicatorMode.snap; _positionController @@ -356,7 +356,7 @@ class RefreshIndicatorState extends State with TickerProviderS @override Widget build(BuildContext context) { - Widget child = new NotificationListener( + final Widget child = new NotificationListener( key: _key, onNotification: _handleScrollNotification, child: new NotificationListener( diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart index e77630eff2..d32f4f4155 100644 --- a/packages/flutter/lib/src/material/scaffold.dart +++ b/packages/flutter/lib/src/material/scaffold.dart @@ -469,10 +469,10 @@ class Scaffold extends StatefulWidget { assert(registerForUpdates != null); assert(context != null); if (registerForUpdates) { - _ScaffoldScope scaffold = context.inheritFromWidgetOfExactType(_ScaffoldScope); + final _ScaffoldScope scaffold = context.inheritFromWidgetOfExactType(_ScaffoldScope); return scaffold?.hasDrawer ?? false; } else { - ScaffoldState scaffold = context.ancestorStateOfType(const TypeMatcher()); + final ScaffoldState scaffold = context.ancestorStateOfType(const TypeMatcher()); return scaffold?.hasDrawer ?? false; } } @@ -640,12 +640,12 @@ class ScaffoldState extends State with TickerProviderStateMixin { _currentBottomSheet.close(); assert(_currentBottomSheet == null); } - Completer completer = new Completer(); - GlobalKey<_PersistentBottomSheetState> bottomSheetKey = new GlobalKey<_PersistentBottomSheetState>(); - AnimationController controller = BottomSheet.createAnimationController(this) + final Completer completer = new Completer(); + final GlobalKey<_PersistentBottomSheetState> bottomSheetKey = new GlobalKey<_PersistentBottomSheetState>(); + final AnimationController controller = BottomSheet.createAnimationController(this) ..forward(); _PersistentBottomSheet bottomSheet; - LocalHistoryEntry entry = new LocalHistoryEntry( + final LocalHistoryEntry entry = new LocalHistoryEntry( onRemove: () { assert(_currentBottomSheet._widget == bottomSheet); assert(bottomSheetKey.currentState != null); @@ -758,7 +758,7 @@ class ScaffoldState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { EdgeInsets padding = MediaQuery.of(context).padding; - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); if (!config.resizeToAvoidBottomPadding) padding = new EdgeInsets.fromLTRB(padding.left, padding.top, padding.right, 0.0); @@ -783,9 +783,9 @@ class ScaffoldState extends State with TickerProviderStateMixin { if (config.appBar != null) { assert(config.appBar.primary || padding.top == 0.0, 'A non-primary AppBar was passed to a Scaffold but the MediaQuery in scope has top padding.'); - double topPadding = config.appBar.primary ? padding.top : 0.0; + final double topPadding = config.appBar.primary ? padding.top : 0.0; Widget appBar = config.appBar; - double extent = config.appBar.minExtent + topPadding; + final double extent = config.appBar.minExtent + topPadding; if (config.appBar.flexibleSpace != null) { appBar = FlexibleSpaceBar.createSettings( currentExtent: extent, @@ -838,7 +838,7 @@ class ScaffoldState extends State with TickerProviderStateMixin { bottomSheets.addAll(_dismissedBottomSheets); if (_currentBottomSheet != null) bottomSheets.add(_currentBottomSheet._widget); - Widget stack = new Stack( + final Widget stack = new Stack( children: bottomSheets, alignment: FractionalOffset.bottomCenter, ); diff --git a/packages/flutter/lib/src/material/slider.dart b/packages/flutter/lib/src/material/slider.dart index 71a51db9fa..5d373df704 100644 --- a/packages/flutter/lib/src/material/slider.dart +++ b/packages/flutter/lib/src/material/slider.dart @@ -162,7 +162,7 @@ class _SliderState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { assert(debugCheckHasMaterial(context)); - ThemeData theme = Theme.of(context); + final ThemeData theme = Theme.of(context); return new _SliderRenderObjectWidget( value: (config.value - config.min) / (config.max - config.min), divisions: config.divisions, @@ -277,7 +277,7 @@ class _RenderSlider extends RenderConstrainedBox implements SemanticsActionHandl super(additionalConstraints: _getAdditionalConstraints(label)) { assert(value != null && value >= 0.0 && value <= 1.0); this.label = label; - GestureArenaTeam team = new GestureArenaTeam(); + final GestureArenaTeam team = new GestureArenaTeam(); _drag = new HorizontalDragGestureRecognizer() ..team = team ..onStart = _handleDragStart @@ -501,14 +501,14 @@ class _RenderSlider extends RenderConstrainedBox implements SemanticsActionHandl final double tipAttachment = _kLabelBalloonTipAttachmentRatio * radius; canvas.drawCircle(center, radius, primaryPaint); - Path path = new Path() + final Path path = new Path() ..moveTo(tip.x, tip.y) ..lineTo(center.x - tipAttachment, center.y + tipAttachment) ..lineTo(center.x + tipAttachment, center.y + tipAttachment) ..close(); canvas.drawPath(path, primaryPaint); _labelPainter.layout(); - Offset labelOffset = new Offset( + final Offset labelOffset = new Offset( center.x - _labelPainter.width / 2.0, center.y - _labelPainter.height / 2.0 ); diff --git a/packages/flutter/lib/src/material/snack_bar.dart b/packages/flutter/lib/src/material/snack_bar.dart index 25ddaa980d..aa224f80ac 100644 --- a/packages/flutter/lib/src/material/snack_bar.dart +++ b/packages/flutter/lib/src/material/snack_bar.dart @@ -190,13 +190,13 @@ class SnackBar extends StatelessWidget { @override Widget build(BuildContext context) { assert(animation != null); - ThemeData theme = Theme.of(context); - ThemeData darkTheme = new ThemeData( + final ThemeData theme = Theme.of(context); + final ThemeData darkTheme = new ThemeData( brightness: Brightness.dark, accentColor: theme.accentColor, accentColorBrightness: theme.accentColorBrightness ); - List children = [ + final List children = [ const SizedBox(width: _kSnackBarPadding), new Expanded( child: new Container( @@ -217,8 +217,8 @@ class SnackBar extends StatelessWidget { } else { children.add(const SizedBox(width: _kSnackBarPadding)); } - CurvedAnimation heightAnimation = new CurvedAnimation(parent: animation, curve: _snackBarHeightCurve); - CurvedAnimation fadeAnimation = new CurvedAnimation(parent: animation, curve: _snackBarFadeCurve, reverseCurve: const Threshold(0.0)); + final CurvedAnimation heightAnimation = new CurvedAnimation(parent: animation, curve: _snackBarHeightCurve); + final CurvedAnimation fadeAnimation = new CurvedAnimation(parent: animation, curve: _snackBarFadeCurve, reverseCurve: const Threshold(0.0)); return new ClipRect( child: new AnimatedBuilder( animation: heightAnimation, diff --git a/packages/flutter/lib/src/material/stepper.dart b/packages/flutter/lib/src/material/stepper.dart index 9519750062..5edbf44ddf 100644 --- a/packages/flutter/lib/src/material/stepper.dart +++ b/packages/flutter/lib/src/material/stepper.dart @@ -514,7 +514,7 @@ class _StepperState extends State with TickerProviderStateMixin { } Widget _buildVertical() { - List children = []; + final List children = []; for (int i = 0; i < config.steps.length; i += 1) { children.add( diff --git a/packages/flutter/lib/src/material/tab_controller.dart b/packages/flutter/lib/src/material/tab_controller.dart index 4a22f40c9d..69b0eaae36 100644 --- a/packages/flutter/lib/src/material/tab_controller.dart +++ b/packages/flutter/lib/src/material/tab_controller.dart @@ -244,7 +244,7 @@ class DefaultTabController extends StatefulWidget { /// TabController controller = DefaultTabBarController.of(context); /// ``` static TabController of(BuildContext context) { - _TabControllerScope scope = context.inheritFromWidgetOfExactType(_TabControllerScope); + final _TabControllerScope scope = context.inheritFromWidgetOfExactType(_TabControllerScope); return scope?.controller; } diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart index 24745ef625..2b4c0626e4 100644 --- a/packages/flutter/lib/src/material/tabs.dart +++ b/packages/flutter/lib/src/material/tabs.dart @@ -431,7 +431,7 @@ class _TabBarState extends State { int _currentIndex; void _updateTabController() { - TabController newController = config.controller ?? DefaultTabController.of(context); + final TabController newController = config.controller ?? DefaultTabController.of(context); if (newController == _controller) return; @@ -676,7 +676,7 @@ class _TabBarViewState extends State { int _warpUnderwayCount = 0; void _updateTabController() { - TabController newController = config.controller ?? DefaultTabController.of(context); + final TabController newController = config.controller ?? DefaultTabController.of(context); if (newController == _controller) return; diff --git a/packages/flutter/lib/src/material/text_selection.dart b/packages/flutter/lib/src/material/text_selection.dart index dce1d19749..34b4091e31 100644 --- a/packages/flutter/lib/src/material/text_selection.dart +++ b/packages/flutter/lib/src/material/text_selection.dart @@ -24,7 +24,7 @@ class _TextSelectionToolbar extends StatelessWidget { @override Widget build(BuildContext context) { - List items = []; + final List items = []; if (!value.selection.isCollapsed) { items.add(new FlatButton(child: new Text('CUT'), onPressed: _handleCut)); @@ -68,8 +68,8 @@ class _TextSelectionToolbar extends StatelessWidget { } Future _handlePaste() async { - InputValue value = this.value; // Snapshot the input before using `await`. - ClipboardData data = await Clipboard.getData(Clipboard.kTextPlain); + final InputValue value = this.value; // Snapshot the input before using `await`. + final ClipboardData data = await Clipboard.getData(Clipboard.kTextPlain); if (data != null) { delegate.inputValue = new InputValue( text: value.selection.textBefore(value.text) + data.text + value.selection.textAfter(value.text), @@ -131,8 +131,8 @@ class _TextSelectionHandlePainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - Paint paint = new Paint()..color = color; - double radius = size.width/2.0; + final Paint paint = new Paint()..color = color; + final double radius = size.width/2.0; canvas.drawCircle(new Point(radius, radius), radius, paint); canvas.drawRect(new Rect.fromLTWH(0.0, 0.0, radius, radius), paint); } @@ -164,7 +164,7 @@ class _MaterialTextSelectionControls extends TextSelectionControls { /// Builder for material-style text selection handles. @override Widget buildHandle(BuildContext context, TextSelectionHandleType type) { - Widget handle = new SizedBox( + final Widget handle = new SizedBox( width: _kHandleSize, height: _kHandleSize, child: new CustomPaint( diff --git a/packages/flutter/lib/src/material/theme_data.dart b/packages/flutter/lib/src/material/theme_data.dart index 87ca31d1c7..1ca9bcbea3 100644 --- a/packages/flutter/lib/src/material/theme_data.dart +++ b/packages/flutter/lib/src/material/theme_data.dart @@ -475,7 +475,7 @@ class ThemeData { bool operator ==(Object other) { if (other.runtimeType != runtimeType) return false; - ThemeData otherData = other; + final ThemeData otherData = other; return (otherData.brightness == brightness) && (otherData.primaryColor == primaryColor) && (otherData.primaryColorBrightness == primaryColorBrightness) && diff --git a/packages/flutter/lib/src/material/time_picker.dart b/packages/flutter/lib/src/material/time_picker.dart index 392d76298e..a96be73c80 100644 --- a/packages/flutter/lib/src/material/time_picker.dart +++ b/packages/flutter/lib/src/material/time_picker.dart @@ -230,7 +230,7 @@ class _TimePickerHeader extends StatelessWidget { } void _handleChangeDayPeriod() { - int newHour = (selectedTime.hour + _kHoursPerPeriod) % _kHoursPerDay; + final int newHour = (selectedTime.hour + _kHoursPerPeriod) % _kHoursPerDay; onChanged(selectedTime.replacing(hour: newHour)); } @@ -250,9 +250,9 @@ class _TimePickerHeader extends StatelessWidget { @override Widget build(BuildContext context) { - ThemeData themeData = Theme.of(context); - TextTheme headerTextTheme = themeData.primaryTextTheme; - TextStyle baseHeaderStyle = _getBaseHeaderStyle(headerTextTheme); + final ThemeData themeData = Theme.of(context); + final TextTheme headerTextTheme = themeData.primaryTextTheme; + final TextStyle baseHeaderStyle = _getBaseHeaderStyle(headerTextTheme); Color activeColor; Color inactiveColor; switch(themeData.primaryColorBrightness) { @@ -276,20 +276,20 @@ class _TimePickerHeader extends StatelessWidget { break; } - TextStyle activeStyle = baseHeaderStyle.copyWith(color: activeColor); - TextStyle inactiveStyle = baseHeaderStyle.copyWith(color: inactiveColor); + final TextStyle activeStyle = baseHeaderStyle.copyWith(color: activeColor); + final TextStyle inactiveStyle = baseHeaderStyle.copyWith(color: inactiveColor); - TextStyle hourStyle = mode == _TimePickerMode.hour ? activeStyle : inactiveStyle; - TextStyle minuteStyle = mode == _TimePickerMode.minute ? activeStyle : inactiveStyle; + final TextStyle hourStyle = mode == _TimePickerMode.hour ? activeStyle : inactiveStyle; + final TextStyle minuteStyle = mode == _TimePickerMode.minute ? activeStyle : inactiveStyle; - TextStyle amStyle = headerTextTheme.subhead.copyWith( + final TextStyle amStyle = headerTextTheme.subhead.copyWith( color: selectedTime.period == DayPeriod.am ? activeColor: inactiveColor ); - TextStyle pmStyle = headerTextTheme.subhead.copyWith( + final TextStyle pmStyle = headerTextTheme.subhead.copyWith( color: selectedTime.period == DayPeriod.pm ? activeColor: inactiveColor ); - Widget dayPeriodPicker = new GestureDetector( + final Widget dayPeriodPicker = new GestureDetector( onTap: _handleChangeDayPeriod, behavior: HitTestBehavior.opaque, child: new Column( @@ -302,17 +302,17 @@ class _TimePickerHeader extends StatelessWidget { ) ); - Widget hour = new GestureDetector( + final Widget hour = new GestureDetector( onTap: () => _handleChangeMode(_TimePickerMode.hour), child: new Text(selectedTime.hourOfPeriodLabel, style: hourStyle), ); - Widget minute = new GestureDetector( + final Widget minute = new GestureDetector( onTap: () => _handleChangeMode(_TimePickerMode.minute), child: new Text(selectedTime.minuteLabel, style: minuteStyle), ); - Widget colon = new Text(':', style: inactiveStyle); + final Widget colon = new Text(':', style: inactiveStyle); EdgeInsets padding; double height; @@ -349,10 +349,10 @@ class _TimePickerHeader extends StatelessWidget { } List _initPainters(TextTheme textTheme, List labels) { - TextStyle style = textTheme.subhead; - List painters = new List(labels.length); + final TextStyle style = textTheme.subhead; + final List painters = new List(labels.length); for (int i = 0; i < painters.length; ++i) { - String label = labels[i]; + final String label = labels[i]; // TODO(abarth): Handle textScaleFactor. // https://github.com/flutter/flutter/issues/5939 painters[i] = new TextPainter( @@ -391,24 +391,24 @@ class _DialPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - double radius = size.shortestSide / 2.0; - Offset center = new Offset(size.width / 2.0, size.height / 2.0); - Point centerPoint = center.toPoint(); + final double radius = size.shortestSide / 2.0; + final Offset center = new Offset(size.width / 2.0, size.height / 2.0); + final Point centerPoint = center.toPoint(); canvas.drawCircle(centerPoint, radius, new Paint()..color = backgroundColor); const double labelPadding = 24.0; - double labelRadius = radius - labelPadding; + final double labelRadius = radius - labelPadding; Offset getOffsetForTheta(double theta) { return center + new Offset(labelRadius * math.cos(theta), -labelRadius * math.sin(theta)); } void paintLabels(List labels) { - double labelThetaIncrement = -_kTwoPi / labels.length; + final double labelThetaIncrement = -_kTwoPi / labels.length; double labelTheta = math.PI / 2.0; for (TextPainter label in labels) { - Offset labelOffset = new Offset(-label.width / 2.0, -label.height / 2.0); + final Offset labelOffset = new Offset(-label.width / 2.0, -label.height / 2.0); label.paint(canvas, getOffsetForTheta(labelTheta) + labelOffset); labelTheta += labelThetaIncrement; } @@ -499,7 +499,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { } void _animateTo(double targetTheta) { - double currentTheta = _theta.value; + final double currentTheta = _theta.value; double beginTheta = _nearest(targetTheta, currentTheta, currentTheta + _kTwoPi); beginTheta = _nearest(targetTheta, beginTheta, currentTheta - _kTwoPi); _thetaTween @@ -511,16 +511,16 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { } double _getThetaForTime(TimeOfDay time) { - double fraction = (config.mode == _TimePickerMode.hour) ? + final double fraction = (config.mode == _TimePickerMode.hour) ? (time.hour / _kHoursPerPeriod) % _kHoursPerPeriod : (time.minute / _kMinutesPerHour) % _kMinutesPerHour; return (math.PI / 2.0 - fraction * _kTwoPi) % _kTwoPi; } TimeOfDay _getTimeForTheta(double theta) { - double fraction = (0.25 - (theta % _kTwoPi) / _kTwoPi) % 1.0; + final double fraction = (0.25 - (theta % _kTwoPi) / _kTwoPi) % 1.0; if (config.mode == _TimePickerMode.hour) { - int hourOfPeriod = (fraction * _kHoursPerPeriod).round() % _kHoursPerPeriod; + final int hourOfPeriod = (fraction * _kHoursPerPeriod).round() % _kHoursPerPeriod; return config.selectedTime.replacing( hour: hourOfPeriod + config.selectedTime.periodOffset ); @@ -534,7 +534,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { void _notifyOnChangedIfNeeded() { if (config.onChanged == null) return; - TimeOfDay current = _getTimeForTheta(_theta.value); + final TimeOfDay current = _getTimeForTheta(_theta.value); if (current != config.selectedTime) config.onChanged(current); } @@ -578,7 +578,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { @override Widget build(BuildContext context) { - ThemeData themeData = Theme.of(context); + final ThemeData themeData = Theme.of(context); Color backgroundColor; switch (themeData.brightness) { @@ -590,7 +590,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { break; } - ThemeData theme = Theme.of(context); + final ThemeData theme = Theme.of(context); List primaryLabels; List secondaryLabels; switch (config.mode) { @@ -686,7 +686,7 @@ class _TimePickerDialogState extends State<_TimePickerDialog> { @override Widget build(BuildContext context) { - Widget picker = new Padding( + final Widget picker = new Padding( padding: const EdgeInsets.all(16.0), child: new AspectRatio( aspectRatio: 1.0, @@ -698,7 +698,7 @@ class _TimePickerDialogState extends State<_TimePickerDialog> { ) ); - Widget actions = new ButtonTheme.bar( + final Widget actions = new ButtonTheme.bar( child: new ButtonBar( children: [ new FlatButton( @@ -716,7 +716,7 @@ class _TimePickerDialogState extends State<_TimePickerDialog> { return new Dialog( child: new OrientationBuilder( builder: (BuildContext context, Orientation orientation) { - Widget header = new _TimePickerHeader( + final Widget header = new _TimePickerHeader( selectedTime: _selectedTime, mode: _mode, orientation: orientation, diff --git a/packages/flutter/lib/src/material/toggleable.dart b/packages/flutter/lib/src/material/toggleable.dart index f006e12d98..8cf490c5e7 100644 --- a/packages/flutter/lib/src/material/toggleable.dart +++ b/packages/flutter/lib/src/material/toggleable.dart @@ -275,9 +275,9 @@ abstract class RenderToggleable extends RenderConstrainedBox implements Semantic void paintRadialReaction(Canvas canvas, Offset offset, Point origin) { if (!_reaction.isDismissed) { // TODO(abarth): We should have a different reaction color when position is zero. - Paint reactionPaint = new Paint()..color = activeColor.withAlpha(kRadialReactionAlpha); - Point center = Point.lerp(_downPosition ?? origin, origin, _reaction.value); - double radius = _kRadialReactionRadiusTween.evaluate(_reaction); + final Paint reactionPaint = new Paint()..color = activeColor.withAlpha(kRadialReactionAlpha); + final Point center = Point.lerp(_downPosition ?? origin, origin, _reaction.value); + final double radius = _kRadialReactionRadiusTween.evaluate(_reaction); canvas.drawCircle(center + offset, radius, reactionPaint); } } diff --git a/packages/flutter/lib/src/material/tooltip.dart b/packages/flutter/lib/src/material/tooltip.dart index 07e9f89777..41f4cb5117 100644 --- a/packages/flutter/lib/src/material/tooltip.dart +++ b/packages/flutter/lib/src/material/tooltip.dart @@ -213,7 +213,7 @@ class _TooltipPositionDelegate extends SingleChildLayoutDelegate { else y = math.max(target.y - verticalOffset - childSize.height, _kScreenEdgeMargin); // HORIZONTAL DIRECTION - double normalizedTargetX = target.x.clamp(_kScreenEdgeMargin, size.width - _kScreenEdgeMargin); + final double normalizedTargetX = target.x.clamp(_kScreenEdgeMargin, size.width - _kScreenEdgeMargin); double x; if (normalizedTargetX < _kScreenEdgeMargin + childSize.width / 2.0) { x = _kScreenEdgeMargin; @@ -255,8 +255,8 @@ class _TooltipOverlay extends StatelessWidget { @override Widget build(BuildContext context) { - ThemeData theme = Theme.of(context); - ThemeData darkTheme = new ThemeData( + final ThemeData theme = Theme.of(context); + final ThemeData darkTheme = new ThemeData( brightness: Brightness.dark, textTheme: theme.brightness == Brightness.dark ? theme.textTheme : theme.primaryTextTheme, platform: theme.platform, diff --git a/packages/flutter/lib/src/painting/box_painter.dart b/packages/flutter/lib/src/painting/box_painter.dart index bad3150648..5c15f29190 100644 --- a/packages/flutter/lib/src/painting/box_painter.dart +++ b/packages/flutter/lib/src/painting/box_painter.dart @@ -366,7 +366,7 @@ class Border { assert(bottom != null); assert(left != null); - Paint paint = new Paint() + final Paint paint = new Paint() ..strokeWidth = 0.0; // used for hairline borders Path path; @@ -450,29 +450,29 @@ class Border { void _paintBorderWithRadius(Canvas canvas, Rect rect, BorderRadius borderRadius) { assert(isUniform); - Paint paint = new Paint() + final Paint paint = new Paint() ..color = top.color; - RRect outer = borderRadius.toRRect(rect); - double width = top.width; + final RRect outer = borderRadius.toRRect(rect); + final double width = top.width; if (width == 0.0) { paint ..style = PaintingStyle.stroke ..strokeWidth = 0.0; canvas.drawRRect(outer, paint); } else { - RRect inner = outer.deflate(width); + final RRect inner = outer.deflate(width); canvas.drawDRRect(outer, inner, paint); } } void _paintBorderWithCircle(Canvas canvas, Rect rect) { assert(isUniform); - double width = top.width; - Paint paint = new Paint() + final double width = top.width; + final Paint paint = new Paint() ..color = top.color ..strokeWidth = width ..style = PaintingStyle.stroke; - double radius = (rect.shortestSide - width) / 2.0; + final double radius = (rect.shortestSide - width) / 2.0; canvas.drawCircle(rect.center, radius, paint); } @@ -581,8 +581,8 @@ class BoxShadow { a = new List(); if (b == null) b = new List(); - List result = new List(); - int commonLength = math.min(a.length, b.length); + final List result = new List(); + final int commonLength = math.min(a.length, b.length); for (int i = 0; i < commonLength; ++i) result.add(BoxShadow.lerp(a[i], b[i], t)); for (int i = commonLength; i < a.length; ++i) @@ -838,8 +838,8 @@ Iterable _generateImageTileRects(Rect outputRect, Rect fundamentalRect, Im int startY = 0; int stopX = 0; int stopY = 0; - double strideX = fundamentalRect.width; - double strideY = fundamentalRect.height; + final double strideX = fundamentalRect.width; + final double strideY = fundamentalRect.height; if (repeat == ImageRepeat.repeat || repeat == ImageRepeat.repeatX) { startX = ((outputRect.left - fundamentalRect.left) / strideX).floor(); @@ -929,7 +929,7 @@ void paintImage({ // output rect with the image. repeat = ImageRepeat.noRepeat; } - Paint paint = new Paint()..isAntiAlias = false; + final Paint paint = new Paint()..isAntiAlias = false; if (colorFilter != null) paint.colorFilter = colorFilter; if (sourceSize != destinationSize) { @@ -938,10 +938,10 @@ void paintImage({ // to nearest-neighbor. paint.filterQuality = FilterQuality.low; } - double dx = (outputSize.width - destinationSize.width) * (alignment?.dx ?? 0.5); - double dy = (outputSize.height - destinationSize.height) * (alignment?.dy ?? 0.5); - Point destinationPosition = rect.topLeft + new Offset(dx, dy); - Rect destinationRect = destinationPosition & destinationSize; + final double dx = (outputSize.width - destinationSize.width) * (alignment?.dx ?? 0.5); + final double dy = (outputSize.height - destinationSize.height) * (alignment?.dy ?? 0.5); + final Point destinationPosition = rect.topLeft + new Offset(dx, dy); + final Rect destinationRect = destinationPosition & destinationSize; if (repeat != ImageRepeat.noRepeat) { canvas.save(); canvas.clipRect(rect); @@ -1200,7 +1200,7 @@ class BoxDecoration extends Decoration { /// span multiple lines, each prefixed by that argument. @override String toString([String prefix = '', String indentPrefix]) { - List result = []; + final List result = []; if (backgroundColor != null) result.add('${prefix}backgroundColor: $backgroundColor'); if (backgroundImage != null) @@ -1236,14 +1236,14 @@ class BoxDecoration extends Decoration { switch (shape) { case BoxShape.rectangle: if (borderRadius != null) { - RRect bounds = borderRadius.toRRect(Point.origin & size); + final RRect bounds = borderRadius.toRRect(Point.origin & size); return bounds.contains(position); } return true; case BoxShape.circle: // Circles are inscribed into our smallest dimension. - Point center = size.center(Point.origin); - double distance = (position - center).distance; + final Point center = size.center(Point.origin); + final double distance = (position - center).distance; return distance <= math.min(size.width, size.height) / 2.0; } assert(shape != null); @@ -1272,7 +1272,7 @@ class _BoxDecorationPainter extends BoxPainter { if (_cachedBackgroundPaint == null || (_decoration.gradient == null && _rectForCachedBackgroundPaint != null) || (_decoration.gradient != null && _rectForCachedBackgroundPaint != rect)) { - Paint paint = new Paint(); + final Paint paint = new Paint(); if (_decoration.backgroundColor != null) paint.color = _decoration.backgroundColor; @@ -1294,8 +1294,8 @@ class _BoxDecorationPainter extends BoxPainter { switch (_decoration.shape) { case BoxShape.circle: assert(_decoration.borderRadius == null); - Point center = rect.center; - double radius = rect.shortestSide / 2.0; + final Point center = rect.center; + final double radius = rect.shortestSide / 2.0; canvas.drawCircle(center, radius, paint); break; case BoxShape.rectangle: diff --git a/packages/flutter/lib/src/painting/flutter_logo.dart b/packages/flutter/lib/src/painting/flutter_logo.dart index 00d6ff1626..5782ad37f4 100644 --- a/packages/flutter/lib/src/painting/flutter_logo.dart +++ b/packages/flutter/lib/src/painting/flutter_logo.dart @@ -384,7 +384,7 @@ class _FlutterLogoPainter extends BoxPainter { @override void paint(Canvas canvas, Offset offset, ImageConfiguration configuration) { offset += _config.margin.topLeft; - Size canvasSize = _config.margin.deflateSize(configuration.size); + final Size canvasSize = _config.margin.deflateSize(configuration.size); Size logoSize; if (_config._position > 0.0) { // horizontal style diff --git a/packages/flutter/lib/src/painting/text_editing.dart b/packages/flutter/lib/src/painting/text_editing.dart index 1186df1896..a0ccfe2a76 100644 --- a/packages/flutter/lib/src/painting/text_editing.dart +++ b/packages/flutter/lib/src/painting/text_editing.dart @@ -73,7 +73,7 @@ class TextRange { return true; if (other is! TextRange) return false; - TextRange typedOther = other; + final TextRange typedOther = other; return typedOther.start == start && typedOther.end == end; } @@ -181,7 +181,7 @@ class TextSelection extends TextRange { return true; if (other is! TextSelection) return false; - TextSelection typedOther = other; + final TextSelection typedOther = other; return typedOther.baseOffset == baseOffset && typedOther.extentOffset == extentOffset && typedOther.affinity == affinity diff --git a/packages/flutter/lib/src/painting/text_painter.dart b/packages/flutter/lib/src/painting/text_painter.dart index 46e877c2b0..8fef6698df 100644 --- a/packages/flutter/lib/src/painting/text_painter.dart +++ b/packages/flutter/lib/src/painting/text_painter.dart @@ -137,7 +137,7 @@ class TextPainter { double get preferredLineHeight { assert(text != null); if (_layoutTemplate == null) { - ui.ParagraphBuilder builder = new ui.ParagraphBuilder(new ui.ParagraphStyle()); + final ui.ParagraphBuilder builder = new ui.ParagraphBuilder(new ui.ParagraphStyle()); if (text.style != null) builder.pushStyle(text.style.getTextStyle(textScaleFactor: textScaleFactor)); builder.addText(_kZeroWidthSpace); @@ -247,7 +247,7 @@ class TextPainter { maxLines: maxLines, ellipsis: ellipsis, ); - ui.ParagraphBuilder builder = new ui.ParagraphBuilder(paragraphStyle); + final ui.ParagraphBuilder builder = new ui.ParagraphBuilder(paragraphStyle); _text.build(builder, textScaleFactor: textScaleFactor); _paragraph = builder.build(); } @@ -291,30 +291,30 @@ class TextPainter { } Offset _getOffsetFromUpstream(int offset, Rect caretPrototype) { - int prevCodeUnit = _text.codeUnitAt(offset - 1); + final int prevCodeUnit = _text.codeUnitAt(offset - 1); if (prevCodeUnit == null) return null; - int prevRuneOffset = _isUtf16Surrogate(prevCodeUnit) ? offset - 2 : offset - 1; - List boxes = _paragraph.getBoxesForRange(prevRuneOffset, offset); + final int prevRuneOffset = _isUtf16Surrogate(prevCodeUnit) ? offset - 2 : offset - 1; + final List boxes = _paragraph.getBoxesForRange(prevRuneOffset, offset); if (boxes.isEmpty) return null; - ui.TextBox box = boxes[0]; - double caretEnd = box.end; - double dx = box.direction == TextDirection.rtl ? caretEnd : caretEnd - caretPrototype.width; + final ui.TextBox box = boxes[0]; + final double caretEnd = box.end; + final double dx = box.direction == TextDirection.rtl ? caretEnd : caretEnd - caretPrototype.width; return new Offset(dx, box.top); } Offset _getOffsetFromDownstream(int offset, Rect caretPrototype) { - int nextCodeUnit = _text.codeUnitAt(offset + 1); + final int nextCodeUnit = _text.codeUnitAt(offset + 1); if (nextCodeUnit == null) return null; - int nextRuneOffset = _isUtf16Surrogate(nextCodeUnit) ? offset + 2 : offset + 1; - List boxes = _paragraph.getBoxesForRange(offset, nextRuneOffset); + final int nextRuneOffset = _isUtf16Surrogate(nextCodeUnit) ? offset + 2 : offset + 1; + final List boxes = _paragraph.getBoxesForRange(offset, nextRuneOffset); if (boxes.isEmpty) return null; - ui.TextBox box = boxes[0]; - double caretStart = box.start; - double dx = box.direction == TextDirection.rtl ? caretStart - caretPrototype.width : caretStart; + final ui.TextBox box = boxes[0]; + final double caretStart = box.start; + final double dx = box.direction == TextDirection.rtl ? caretStart - caretPrototype.width : caretStart; return new Offset(dx, box.top); } @@ -323,7 +323,7 @@ class TextPainter { /// Valid only after [layout] has been called. Offset getOffsetForCaret(TextPosition position, Rect caretPrototype) { assert(!_needsLayout); - int offset = position.offset; + final int offset = position.offset; // TODO(abarth): Handle the directionality of the text painter itself. const Offset emptyOffset = Offset.zero; switch (position.affinity) { @@ -365,7 +365,7 @@ class TextPainter { /// . TextRange getWordBoundary(TextPosition position) { assert(!_needsLayout); - List indices = _paragraph.getWordBoundary(position.offset); + final List indices = _paragraph.getWordBoundary(position.offset); return new TextRange(start: indices[0], end: indices[1]); } } diff --git a/packages/flutter/lib/src/painting/text_span.dart b/packages/flutter/lib/src/painting/text_span.dart index 846de6df23..b083bbdeea 100644 --- a/packages/flutter/lib/src/painting/text_span.dart +++ b/packages/flutter/lib/src/painting/text_span.dart @@ -128,13 +128,13 @@ class TextSpan { /// Returns the text span that contains the given position in the text. TextSpan getSpanForPosition(TextPosition position) { assert(debugAssertIsValid()); - TextAffinity affinity = position.affinity; - int targetOffset = position.offset; + final TextAffinity affinity = position.affinity; + final int targetOffset = position.offset; int offset = 0; TextSpan result; visitTextSpan((TextSpan span) { assert(result == null); - int endOffset = offset + span.text.length; + final int endOffset = offset + span.text.length; if (targetOffset == offset && affinity == TextAffinity.downstream || targetOffset > offset && targetOffset < endOffset || targetOffset == endOffset && affinity == TextAffinity.upstream) { @@ -152,7 +152,7 @@ class TextSpan { /// Styles are not honored in this process. String toPlainText() { assert(debugAssertIsValid()); - StringBuffer buffer = new StringBuffer(); + final StringBuffer buffer = new StringBuffer(); visitTextSpan((TextSpan span) { buffer.write(span.text); return true; @@ -180,9 +180,9 @@ class TextSpan { @override String toString([String prefix = '']) { - StringBuffer buffer = new StringBuffer(); + final StringBuffer buffer = new StringBuffer(); buffer.writeln('$prefix$runtimeType:'); - String indent = '$prefix '; + final String indent = '$prefix '; if (style != null) buffer.writeln(style.toString(indent)); if (text != null) diff --git a/packages/flutter/lib/src/painting/text_style.dart b/packages/flutter/lib/src/painting/text_style.dart index 206bd9b6f9..b2d8d98c58 100644 --- a/packages/flutter/lib/src/painting/text_style.dart +++ b/packages/flutter/lib/src/painting/text_style.dart @@ -290,7 +290,7 @@ class TextStyle { @override String toString([String prefix = '']) { - List result = []; + final List result = []; result.add('${prefix}inherit: $inherit'); if (color != null) result.add('${prefix}color: $color'); diff --git a/packages/flutter/lib/src/painting/transforms.dart b/packages/flutter/lib/src/painting/transforms.dart index bf7bf2d23f..05e8355bae 100644 --- a/packages/flutter/lib/src/painting/transforms.dart +++ b/packages/flutter/lib/src/painting/transforms.dart @@ -19,7 +19,7 @@ class MatrixUtils { /// Otherwise, returns null. static Offset getAsTranslation(Matrix4 transform) { assert(transform != null); - Float64List values = transform.storage; + final Float64List values = transform.storage; // Values are stored in column-major order. if (values[0] == 1.0 && // col 1 values[1] == 0.0 && @@ -95,8 +95,8 @@ class MatrixUtils { /// This function assumes the given point has a z-coordinate of 0.0. The /// z-coordinate of the result is ignored. static Point transformPoint(Matrix4 transform, Point point) { - Vector3 position3 = new Vector3(point.x, point.y, 0.0); - Vector3 transformed3 = transform.perspectiveTransform(position3); + final Vector3 position3 = new Vector3(point.x, point.y, 0.0); + final Vector3 transformed3 = transform.perspectiveTransform(position3); return new Point(transformed3.x, transformed3.y); } @@ -107,10 +107,10 @@ class MatrixUtils { /// The transformed rect is then projected back into the plane with z equals /// 0.0 before computing its bounding rect. static Rect transformRect(Matrix4 transform, Rect rect) { - Point point1 = transformPoint(transform, rect.topLeft); - Point point2 = transformPoint(transform, rect.topRight); - Point point3 = transformPoint(transform, rect.bottomLeft); - Point point4 = transformPoint(transform, rect.bottomRight); + final Point point1 = transformPoint(transform, rect.topLeft); + final Point point2 = transformPoint(transform, rect.topRight); + final Point point3 = transformPoint(transform, rect.bottomLeft); + final Point point4 = transformPoint(transform, rect.bottomRight); return new Rect.fromLTRB( _min4(point1.x, point2.x, point3.x, point4.x), _min4(point1.y, point2.y, point3.y, point4.y), diff --git a/packages/flutter/lib/src/physics/spring_simulation.dart b/packages/flutter/lib/src/physics/spring_simulation.dart index 44fca380ac..f1efe61c2d 100644 --- a/packages/flutter/lib/src/physics/spring_simulation.dart +++ b/packages/flutter/lib/src/physics/spring_simulation.dart @@ -153,7 +153,7 @@ abstract class _SpringSolution { assert(spring.damping != null); assert(initialPosition != null); assert(initialVelocity != null); - double cmk = spring.damping * spring.damping - 4 * spring.mass * spring.springConstant; + final double cmk = spring.damping * spring.damping - 4 * spring.mass * spring.springConstant; if (cmk == 0.0) return new _CriticalSolution(spring, initialPosition, initialVelocity); if (cmk > 0.0) diff --git a/packages/flutter/lib/src/rendering/binding.dart b/packages/flutter/lib/src/rendering/binding.dart index 92a8d2e544..6eaeb5d957 100644 --- a/packages/flutter/lib/src/rendering/binding.dart +++ b/packages/flutter/lib/src/rendering/binding.dart @@ -74,7 +74,7 @@ abstract class RendererBinding extends BindingBase implements SchedulerBinding, name: 'repaintRainbow', getter: () async => debugRepaintRainbowEnabled, setter: (bool value) { - bool repaint = debugRepaintRainbowEnabled && !value; + final bool repaint = debugRepaintRainbowEnabled && !value; debugRepaintRainbowEnabled = value; if (repaint) return _forceRepaint(); diff --git a/packages/flutter/lib/src/rendering/block.dart b/packages/flutter/lib/src/rendering/block.dart index eb9fe40006..3c61943e6e 100644 --- a/packages/flutter/lib/src/rendering/block.dart +++ b/packages/flutter/lib/src/rendering/block.dart @@ -62,10 +62,10 @@ class RenderBlock extends RenderBox } double get _mainAxisExtent { - RenderBox child = lastChild; + final RenderBox child = lastChild; if (child == null) return 0.0; - BoxParentData parentData = child.parentData; + final BoxParentData parentData = child.parentData; assert(mainAxis != null); switch (mainAxis) { case Axis.horizontal: @@ -122,7 +122,7 @@ class RenderBlock extends RenderBox 'This is relatively expensive, however.' // (that's why we don't do it automatically) ); }); - BoxConstraints innerConstraints = _getInnerConstraints(constraints); + final BoxConstraints innerConstraints = _getInnerConstraints(constraints); double position = 0.0; RenderBox child = firstChild; while (child != null) { diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart index 907920323c..ee7793e681 100644 --- a/packages/flutter/lib/src/rendering/box.dart +++ b/packages/flutter/lib/src/rendering/box.dart @@ -245,7 +245,7 @@ class BoxConstraints extends Constraints { double height = size.height; assert(width > 0.0); assert(height > 0.0); - double aspectRatio = width / height; + final double aspectRatio = width / height; if (width > maxWidth) { width = maxWidth; @@ -387,13 +387,13 @@ class BoxConstraints extends Constraints { }) { assert(() { void throwError(String message) { - StringBuffer information = new StringBuffer(); + final StringBuffer information = new StringBuffer(); if (informationCollector != null) informationCollector(information); throw new FlutterError('$message\n${information}The offending constraints were:\n $this'); } if (minWidth.isNaN || maxWidth.isNaN || minHeight.isNaN || maxHeight.isNaN) { - List affectedFieldsList = []; + final List affectedFieldsList = []; if (minWidth.isNaN) affectedFieldsList.add('minWidth'); if (maxWidth.isNaN) @@ -481,7 +481,7 @@ class BoxConstraints extends Constraints { @override String toString() { - String annotation = isNormalized ? '' : '; NOT NORMALIZED'; + final String annotation = isNormalized ? '' : '; NOT NORMALIZED'; if (minWidth == double.INFINITY && minHeight == double.INFINITY) return 'BoxConstraints(biggest$annotation)'; if (minWidth == 0 && maxWidth == double.INFINITY && @@ -1466,7 +1466,7 @@ abstract class RenderBox extends RenderObject { return false; }); assert(_debugSetDoingBaseline(true)); - double result = getDistanceToActualBaseline(baseline); + final double result = getDistanceToActualBaseline(baseline); assert(_debugSetDoingBaseline(false)); if (result == null && !onlyReal) return size.height; @@ -1534,14 +1534,14 @@ abstract class RenderBox extends RenderObject { } // verify that the size is not infinite if (_size.isInfinite) { - StringBuffer information = new StringBuffer(); + final StringBuffer information = new StringBuffer(); if (!constraints.hasBoundedWidth) { RenderBox node = this; while (!node.constraints.hasBoundedWidth && node.parent is RenderBox) node = node.parent; information.writeln('The nearest ancestor providing an unbounded width constraint is:'); information.writeln(' $node'); - List description = []; + final List description = []; node.debugFillDescription(description); for (String line in description) information.writeln(' $line'); @@ -1552,7 +1552,7 @@ abstract class RenderBox extends RenderObject { node = node.parent; information.writeln('The nearest ancestor providing an unbounded height constraint is:'); information.writeln(' $node'); - List description = []; + final List description = []; node.debugFillDescription(description); for (String line in description) information.writeln(' $line'); @@ -1584,7 +1584,7 @@ abstract class RenderBox extends RenderObject { // verify that the intrinsics are sane assert(!RenderObject.debugCheckingIntrinsics); RenderObject.debugCheckingIntrinsics = true; - StringBuffer failures = new StringBuffer(); + final StringBuffer failures = new StringBuffer(); int failureCount = 0; double testIntrinsic(double function(double extent), String name, double constraint) { @@ -1813,7 +1813,7 @@ abstract class RenderBox extends RenderObject { /// object) instead of from the global coordinate system. Point globalToLocal(Point point, { RenderObject ancestor }) { final Matrix4 transform = getTransformTo(ancestor); - double det = transform.invert(); + final double det = transform.invert(); if (det == 0.0) return Point.origin; return MatrixUtils.transformPoint(transform, point); @@ -1918,7 +1918,7 @@ abstract class RenderBox extends RenderObject { @protected void debugPaintSize(PaintingContext context, Offset offset) { assert(() { - Paint paint = new Paint() + final Paint paint = new Paint() ..style = PaintingStyle.stroke ..strokeWidth = 1.0 ..color = debugPaintSizeColor; @@ -1933,12 +1933,12 @@ abstract class RenderBox extends RenderObject { @protected void debugPaintBaselines(PaintingContext context, Offset offset) { assert(() { - Paint paint = new Paint() + final Paint paint = new Paint() ..style = PaintingStyle.stroke ..strokeWidth = 0.25; Path path; // ideographic baseline - double baselineI = getDistanceToBaseline(TextBaseline.ideographic, onlyReal: true); + final double baselineI = getDistanceToBaseline(TextBaseline.ideographic, onlyReal: true); if (baselineI != null) { paint.color = debugPaintIdeographicBaselineColor; path = new Path(); @@ -1947,7 +1947,7 @@ abstract class RenderBox extends RenderObject { context.canvas.drawPath(path, paint); } // alphabetic baseline - double baselineA = getDistanceToBaseline(TextBaseline.alphabetic, onlyReal: true); + final double baselineA = getDistanceToBaseline(TextBaseline.alphabetic, onlyReal: true); if (baselineA != null) { paint.color = debugPaintAlphabeticBaselineColor; path = new Path(); @@ -1970,7 +1970,7 @@ abstract class RenderBox extends RenderObject { void debugPaintPointers(PaintingContext context, Offset offset) { assert(() { if (_debugActivePointers > 0) { - Paint paint = new Paint() + final Paint paint = new Paint() ..color = new Color(debugPaintPointersColorValue | ((0x04000000 * depth) & 0xFF000000)); context.canvas.drawRect(offset & size, paint); } @@ -2002,7 +2002,7 @@ abstract class RenderBoxContainerDefaultsMixin debugDescribeTransform(Matrix4 transform) { - List matrix = transform.toString().split('\n').map((String s) => ' $s').toList(); + final List matrix = transform.toString().split('\n').map((String s) => ' $s').toList(); matrix.removeLast(); return matrix; } diff --git a/packages/flutter/lib/src/rendering/editable.dart b/packages/flutter/lib/src/rendering/editable.dart index 184ef091c6..b10fa7ec2b 100644 --- a/packages/flutter/lib/src/rendering/editable.dart +++ b/packages/flutter/lib/src/rendering/editable.dart @@ -302,7 +302,7 @@ class RenderEditable extends RenderBox { final Point globalPosition = _lastTapDownPosition; _lastTapDownPosition = null; if (onSelectionChanged != null) { - TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition).toOffset()); + final TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition).toOffset()); onSelectionChanged(new TextSelection.fromPosition(position), this, false); } } diff --git a/packages/flutter/lib/src/rendering/error.dart b/packages/flutter/lib/src/rendering/error.dart index 051e4d342d..c5ed737a5b 100644 --- a/packages/flutter/lib/src/rendering/error.dart +++ b/packages/flutter/lib/src/rendering/error.dart @@ -43,7 +43,7 @@ class RenderErrorBox extends RenderBox { // Generally, the much better way to draw text in a RenderObject is to // use the TextPainter class. If you're looking for code to crib from, // see the paragraph.dart file and the RenderParagraph class. - ui.ParagraphBuilder builder = new ui.ParagraphBuilder(paragraphStyle); + final ui.ParagraphBuilder builder = new ui.ParagraphBuilder(paragraphStyle); builder.pushStyle(textStyle); builder.addText( '$message$_kLine$message$_kLine$message$_kLine$message$_kLine$message$_kLine$message$_kLine' @@ -105,7 +105,7 @@ class RenderErrorBox extends RenderBox { // See the comment in the RenderErrorBox constructor. This is not the // code you want to be copying and pasting. :-) if (parent is RenderBox) { - RenderBox parentBox = parent; + final RenderBox parentBox = parent; width = parentBox.size.width; } else { width = size.width; diff --git a/packages/flutter/lib/src/rendering/flex.dart b/packages/flutter/lib/src/rendering/flex.dart index dc61000ee4..d2ff88d924 100644 --- a/packages/flutter/lib/src/rendering/flex.dart +++ b/packages/flutter/lib/src/rendering/flex.dart @@ -247,10 +247,10 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin 0) { - double flexFraction = childSize(child, extent) / _getFlex(child); + final double flexFraction = childSize(child, extent) / _getFlex(child); maxFlexFractionSoFar = math.max(maxFlexFractionSoFar, flexFraction); } else { inflexibleSpace += childSize(child, extent); @@ -267,13 +267,13 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin 0) maxCrossSize = math.max(maxCrossSize, childSize(child, spacePerFlex * flex)); final FlexParentData childParentData = child.parentData; @@ -404,7 +404,7 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin description = []; + final List description = []; node.debugFillDescription(description); for (String line in description) information.writeln(' $line'); @@ -543,7 +543,7 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin description = []; + final List description = []; debugFillDescription(description); result += description.map((String description) => "$descriptionPrefix$description\n").join(); if (childrenDescription == '') { - String prefix = prefixOtherLines.trimRight(); + final String prefix = prefixOtherLines.trimRight(); if (prefix != '') result += '$prefix\n'; } else { @@ -258,7 +258,7 @@ class ContainerLayer extends Layer { void removeAllChildren() { Layer child = _firstChild; while (child != null) { - Layer next = child.nextSibling; + final Layer next = child.nextSibling; child._previousSibling = null; child._nextSibling = null; child._parent = null; diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart index 67dc347455..2fd15dec70 100644 --- a/packages/flutter/lib/src/rendering/object.dart +++ b/packages/flutter/lib/src/rendering/object.dart @@ -83,7 +83,7 @@ class PaintingContext { child._layer.debugCreator = child.debugCreator ?? child.runtimeType; return true; }); - PaintingContext childContext = new PaintingContext._(child._layer, child.paintBounds); + final PaintingContext childContext = new PaintingContext._(child._layer, child.paintBounds); child._paintWithContext(childContext, Offset.zero); childContext._stopRecordingIfNeeded(); } @@ -186,14 +186,14 @@ class PaintingContext { return; assert(() { if (debugRepaintRainbowEnabled) { - Paint paint = new Paint() + final Paint paint = new Paint() ..style = PaintingStyle.stroke ..strokeWidth = 6.0 ..color = debugCurrentRepaintColor.toColor(); canvas.drawRect(_paintBounds.deflate(3.0), paint); } if (debugPaintLayerBordersEnabled) { - Paint paint = new Paint() + final Paint paint = new Paint() ..style = PaintingStyle.stroke ..strokeWidth = 1.0 ..color = debugPaintLayerBordersColor; @@ -582,14 +582,14 @@ class _SemanticsGeometry { Matrix4 transform; void applyAncestorChain(List ancestorChain) { for (int index = ancestorChain.length-1; index > 0; index -= 1) { - RenderObject parent = ancestorChain[index]; - RenderObject child = ancestorChain[index-1]; + final RenderObject parent = ancestorChain[index]; + final RenderObject child = ancestorChain[index-1]; clipRect = _intersectClipRect(parent.describeApproximatePaintClip(child)); if (clipRect != null) { if (clipRect.isEmpty) { clipRect = Rect.zero; } else { - Matrix4 clipTransform = new Matrix4.identity(); + final Matrix4 clipTransform = new Matrix4.identity(); parent.applyPaintTransform(child, clipTransform); clipRect = MatrixUtils.inverseTransformRect(clipTransform, clipRect); } @@ -623,7 +623,7 @@ abstract class _SemanticsFragment { assert(() { if (children == null) return true; - Set<_SemanticsFragment> seenChildren = new Set<_SemanticsFragment>(); + final Set<_SemanticsFragment> seenChildren = new Set<_SemanticsFragment>(); for (_SemanticsFragment child in children) assert(seenChildren.add(child)); // check for duplicate adds return true; @@ -663,7 +663,7 @@ class _CleanSemanticsFragment extends _SemanticsFragment { Iterable compile({ _SemanticsGeometry geometry, SemanticsNode currentSemantics, SemanticsNode parentSemantics }) sync* { assert(!_debugCompiled); assert(() { _debugCompiled = true; return true; }); - SemanticsNode node = renderObjectOwner._semantics; + final SemanticsNode node = renderObjectOwner._semantics; assert(node != null); if (geometry != null) { geometry.applyAncestorChain(_ancestorChain); @@ -688,7 +688,7 @@ abstract class _InterestingSemanticsFragment extends _SemanticsFragment { Iterable compile({ _SemanticsGeometry geometry, SemanticsNode currentSemantics, SemanticsNode parentSemantics }) sync* { assert(!_debugCompiled); assert(() { _debugCompiled = true; return true; }); - SemanticsNode node = establishSemanticsNode(geometry, currentSemantics, parentSemantics); + final SemanticsNode node = establishSemanticsNode(geometry, currentSemantics, parentSemantics); if (annotator != null) annotator(node); for (_SemanticsFragment child in _children) { @@ -726,7 +726,7 @@ class _RootSemanticsFragment extends _InterestingSemanticsFragment { handler: renderObjectOwner is SemanticsActionHandler ? renderObjectOwner as dynamic : null, owner: renderObjectOwner.owner.semanticsOwner ); - SemanticsNode node = renderObjectOwner._semantics; + final SemanticsNode node = renderObjectOwner._semantics; assert(MatrixUtils.matrixEquals(node.transform, new Matrix4.identity())); assert(!node.wasAffectedByClip); node.rect = renderObjectOwner.semanticBounds; @@ -751,7 +751,7 @@ class _ConcreteSemanticsFragment extends _InterestingSemanticsFragment { renderObjectOwner._semantics ??= new SemanticsNode( handler: renderObjectOwner is SemanticsActionHandler ? renderObjectOwner as dynamic : null ); - SemanticsNode node = renderObjectOwner._semantics; + final SemanticsNode node = renderObjectOwner._semantics; if (geometry != null) { geometry.applyAncestorChain(_ancestorChain); geometry.updateSemanticsNode(rendering: renderObjectOwner, semantics: node, parentSemantics: parentSemantics); @@ -972,7 +972,7 @@ class PipelineOwner { try { // TODO(ianh): assert that we're not allowing previously dirty nodes to redirty themeselves while (_nodesNeedingLayout.isNotEmpty) { - List dirtyNodes = _nodesNeedingLayout; + final List dirtyNodes = _nodesNeedingLayout; _nodesNeedingLayout = []; for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => a.depth - b.depth)) { if (node._needsLayout && node.owner == this) @@ -995,7 +995,7 @@ class PipelineOwner { // See [RenderObject.invokeLayoutCallback]. void _enableMutationsToDirtySubtrees(VoidCallback callback) { assert(_debugDoingLayout); - bool oldState = _debugAllowMutationsToDirtySubtrees; + final bool oldState = _debugAllowMutationsToDirtySubtrees; _debugAllowMutationsToDirtySubtrees = true; try { callback(); @@ -1041,7 +1041,7 @@ class PipelineOwner { Timeline.startSync('Paint'); _debugDoingPaint = true; try { - List dirtyNodes = _nodesNeedingPaint; + final List dirtyNodes = _nodesNeedingPaint; _nodesNeedingPaint = []; // Sort the dirty nodes in reverse order (deepest first). for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => b.depth - a.depth)) { @@ -1337,7 +1337,7 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { informationCollector: (StringBuffer information) { information.writeln('The following RenderObject was being processed when the exception was fired:'); information.writeln(' ${toStringShallow('\n ')}'); - List descendants = []; + final List descendants = []; const int maxDepth = 5; int depth = 0; const int maxLines = 25; @@ -1684,9 +1684,9 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { assert(constraints.debugAssertIsValid( isAppliedConstraint: true, informationCollector: (StringBuffer information) { - List stack = StackTrace.current.toString().split('\n'); + final List stack = StackTrace.current.toString().split('\n'); int targetFrame; - Pattern layoutFramePattern = new RegExp(r'^#[0-9]+ +RenderObject.layout \('); + final Pattern layoutFramePattern = new RegExp(r'^#[0-9]+ +RenderObject.layout \('); for (int i = 0; i < stack.length; i += 1) { if (layoutFramePattern.matchAsPrefix(stack[i]) != null) { targetFrame = i + 1; @@ -1699,8 +1699,8 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { 'function by the following function, which probably computed the ' 'invalid constraints in question:' ); - Pattern targetFramePattern = new RegExp(r'^#[0-9]+ +(.+)$'); - Match targetFrameMatch = targetFramePattern.matchAsPrefix(stack[targetFrame]); + final Pattern targetFramePattern = new RegExp(r'^#[0-9]+ +(.+)$'); + final Match targetFrameMatch = targetFramePattern.matchAsPrefix(stack[targetFrame]); if (targetFrameMatch != null && targetFrameMatch.groupCount > 0) { information.writeln(' ${targetFrameMatch.group(1)}'); } else { @@ -1729,7 +1729,7 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { // to itself, so it has the right internal debug values. _debugDoingThisResize = sizedByParent; _debugDoingThisLayout = !sizedByParent; - RenderObject debugPreviousActiveLayout = _debugActiveLayout; + final RenderObject debugPreviousActiveLayout = _debugActiveLayout; _debugActiveLayout = this; debugResetSize(); _debugActiveLayout = debugPreviousActiveLayout; @@ -2005,7 +2005,7 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { void _updateCompositingBits() { if (!_needsCompositingBitsUpdate) return; - bool oldNeedsCompositing = _needsCompositing; + final bool oldNeedsCompositing = _needsCompositing; visitChildren((RenderObject child) { child._updateCompositingBits(); if (child.needsCompositing) @@ -2317,9 +2317,9 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { try { assert(_needsSemanticsUpdate); assert(_semantics != null || parent is! RenderObject); - _SemanticsFragment fragment = _getSemanticsFragment(); + final _SemanticsFragment fragment = _getSemanticsFragment(); assert(fragment is _InterestingSemanticsFragment); - SemanticsNode node = fragment.compile(parentSemantics: _semantics?.parent).single; + final SemanticsNode node = fragment.compile(parentSemantics: _semantics?.parent).single; assert(node != null); assert(node == _semantics); } catch (e, stack) { @@ -2342,7 +2342,7 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { child._needsSemanticsUpdate = true; child._needsSemanticsGeometryUpdate = true; } - _SemanticsFragment fragment = child._getSemanticsFragment(); + final _SemanticsFragment fragment = child._getSemanticsFragment(); if (fragment != null) { fragment.addAncestor(this); children ??= <_SemanticsFragment>[]; @@ -2352,7 +2352,7 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { }); _needsSemanticsUpdate = false; _needsSemanticsGeometryUpdate = false; - SemanticsAnnotator annotator = semanticsAnnotator; + final SemanticsAnnotator annotator = semanticsAnnotator; if (parent is! RenderObject) return new _RootSemanticsFragment(renderObjectOwner: this, annotator: annotator, children: children); if (isSemanticBoundary) @@ -2456,19 +2456,19 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { /// If the prefix argument is provided, then every line in the output /// will be prefixed by that string. String toStringDeep([String prefixLineOne = '', String prefixOtherLines = '']) { - RenderObject debugPreviousActiveLayout = _debugActiveLayout; + final RenderObject debugPreviousActiveLayout = _debugActiveLayout; _debugActiveLayout = null; String result = '$prefixLineOne$this\n'; final String childrenDescription = debugDescribeChildren(prefixOtherLines); final String descriptionPrefix = childrenDescription != '' ? '$prefixOtherLines \u2502 ' : '$prefixOtherLines '; - List description = []; + final List description = []; debugFillDescription(description); result += description .expand((String description) => debugWordWrap(description, 65, wrapIndent: ' ')) .map((String line) => "$descriptionPrefix$line\n") .join(); if (childrenDescription == '') { - String prefix = prefixOtherLines.trimRight(); + final String prefix = prefixOtherLines.trimRight(); if (prefix != '') result += '$prefix\n'; } else { @@ -2484,11 +2484,11 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { /// This includes the same information for this RenderObject as given by /// [toStringDeep], but does not recurse to any children. String toStringShallow([String joiner = '; ']) { - RenderObject debugPreviousActiveLayout = _debugActiveLayout; + final RenderObject debugPreviousActiveLayout = _debugActiveLayout; _debugActiveLayout = null; - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); result.write('${this}$joiner'); // TODO(ianh): https://github.com/dart-lang/sdk/issues/28206 - List description = []; + final List description = []; debugFillDescription(description); result.write(description.join(joiner)); _debugActiveLayout = debugPreviousActiveLayout; @@ -2728,7 +2728,7 @@ abstract class ContainerRenderObjectMixin extends RenderProxyBox { set clipper (CustomClipper newClipper) { if (_clipper == newClipper) return; - CustomClipper oldClipper = _clipper; + final CustomClipper oldClipper = _clipper; _clipper = newClipper; assert(newClipper != null || oldClipper != null); if (newClipper == null || oldClipper == null || @@ -1123,9 +1123,9 @@ class RenderClipOval extends _RenderCustomClip { bool hitTest(HitTestResult result, { Point position }) { _updateClip(); assert(_clip != null); - Point center = _clip.center; + final Point center = _clip.center; // convert the position to an offset from the center of the unit circle - Offset offset = new Offset((position.x - center.x) / _clip.width, + final Offset offset = new Offset((position.x - center.x) / _clip.width, (position.y - center.y) / _clip.height); // check if the point is outside the unit circle if (offset.distanceSquared > 0.25) // x^2 + y^2 > r^2 @@ -1265,7 +1265,7 @@ class RenderPhysicalModel extends _RenderCustomClip { if (_shape == BoxShape.rectangle) { return _borderRadius.toRRect(Point.origin & size); } else { - Rect rect = Point.origin & size; + final Rect rect = Point.origin & size; return new RRect.fromRectXY(rect, rect.width / 2, rect.height / 2); } } @@ -1529,7 +1529,7 @@ class RenderTransform extends RenderProxyBox { Matrix4 get _effectiveTransform { if (_origin == null && _alignment == null) return _transform; - Matrix4 result = new Matrix4.identity(); + final Matrix4 result = new Matrix4.identity(); if (_origin != null) result.translate(_origin.dx, _origin.dy); Offset translation; @@ -1564,8 +1564,8 @@ class RenderTransform extends RenderProxyBox { @override void paint(PaintingContext context, Offset offset) { if (child != null) { - Matrix4 transform = _effectiveTransform; - Offset childOffset = MatrixUtils.getAsTranslation(transform); + final Matrix4 transform = _effectiveTransform; + final Offset childOffset = MatrixUtils.getAsTranslation(transform); if (childOffset == null) context.pushTransform(needsCompositing, offset, transform, super.paint); else @@ -1673,7 +1673,7 @@ class RenderFittedBox extends RenderProxyBox { } void _paintChildWithTransform(PaintingContext context, Offset offset) { - Offset childOffset = MatrixUtils.getAsTranslation(_transform); + final Offset childOffset = MatrixUtils.getAsTranslation(_transform); if (childOffset == null) context.pushTransform(needsCompositing, offset, _transform, super.paint); else @@ -1950,7 +1950,7 @@ class RenderCustomPaint extends RenderProxyBox { set painter (CustomPainter newPainter) { if (_painter == newPainter) return; - CustomPainter oldPainter = _painter; + final CustomPainter oldPainter = _painter; _painter = newPainter; _didUpdatePainter(_painter, oldPainter); } @@ -1975,7 +1975,7 @@ class RenderCustomPaint extends RenderProxyBox { set foregroundPainter (CustomPainter newPainter) { if (_foregroundPainter == newPainter) return; - CustomPainter oldPainter = _foregroundPainter; + final CustomPainter oldPainter = _foregroundPainter; _foregroundPainter = newPainter; _didUpdatePainter(_foregroundPainter, oldPainter); } @@ -2057,7 +2057,7 @@ class RenderCustomPaint extends RenderProxyBox { // Canvas class to lock the canvas at a particular save count // such that restore() fails if it would take the lock count // below that number. - int debugNewCanvasSaveCount = canvas.getSaveCount(); + final int debugNewCanvasSaveCount = canvas.getSaveCount(); if (debugNewCanvasSaveCount > debugPreviousCanvasSaveCount) { throw new FlutterError( 'The $painter custom painter called canvas.save() or canvas.saveLayer() at least ' @@ -2166,7 +2166,7 @@ class RenderPointerListener extends RenderProxyBoxWithHitTestBehavior { @override void debugFillDescription(List description) { super.debugFillDescription(description); - List listeners = []; + final List listeners = []; if (onPointerDown != null) listeners.add('down'); if (onPointerMove != null) @@ -2275,7 +2275,7 @@ class RenderRepaintBoundary extends RenderProxyBox { if (debugSymmetricPaintCount + debugAsymmetricPaintCount == 0) { description.add('usefulness ratio: no metrics collected yet (never painted)'); } else { - double percentage = 100.0 * debugAsymmetricPaintCount / (debugSymmetricPaintCount + debugAsymmetricPaintCount); + final double percentage = 100.0 * debugAsymmetricPaintCount / (debugSymmetricPaintCount + debugAsymmetricPaintCount); String diagnosis; if (debugSymmetricPaintCount + debugAsymmetricPaintCount < 5) { diagnosis = 'insufficient data to draw conclusion (less than five repaints)'; @@ -2350,7 +2350,7 @@ class RenderIgnorePointer extends RenderProxyBox { set ignoringSemantics(bool value) { if (value == _ignoringSemantics) return; - bool oldEffectiveValue = _effectiveIgnoringSemantics; + final bool oldEffectiveValue = _effectiveIgnoringSemantics; _ignoringSemantics = value; if (oldEffectiveValue != _effectiveIgnoringSemantics) markNeedsSemanticsUpdate(); @@ -2576,8 +2576,8 @@ class RenderSemanticsGestureHandler extends RenderProxyBox implements SemanticsA set onTap(GestureTapCallback value) { if (_onTap == value) return; - bool wasSemanticBoundary = isSemanticBoundary; - bool hadHandler = _onTap != null; + final bool wasSemanticBoundary = isSemanticBoundary; + final bool hadHandler = _onTap != null; _onTap = value; if ((value != null) != hadHandler) markNeedsSemanticsUpdate(onlyChanges: isSemanticBoundary == wasSemanticBoundary); @@ -2589,8 +2589,8 @@ class RenderSemanticsGestureHandler extends RenderProxyBox implements SemanticsA set onLongPress(GestureLongPressCallback value) { if (_onLongPress == value) return; - bool wasSemanticBoundary = isSemanticBoundary; - bool hadHandler = _onLongPress != null; + final bool wasSemanticBoundary = isSemanticBoundary; + final bool hadHandler = _onLongPress != null; _onLongPress = value; if ((value != null) != hadHandler) markNeedsSemanticsUpdate(onlyChanges: isSemanticBoundary == wasSemanticBoundary); @@ -2602,8 +2602,8 @@ class RenderSemanticsGestureHandler extends RenderProxyBox implements SemanticsA set onHorizontalDragUpdate(GestureDragUpdateCallback value) { if (_onHorizontalDragUpdate == value) return; - bool wasSemanticBoundary = isSemanticBoundary; - bool hadHandler = _onHorizontalDragUpdate != null; + final bool wasSemanticBoundary = isSemanticBoundary; + final bool hadHandler = _onHorizontalDragUpdate != null; _onHorizontalDragUpdate = value; if ((value != null) != hadHandler) markNeedsSemanticsUpdate(onlyChanges: isSemanticBoundary == wasSemanticBoundary); @@ -2615,8 +2615,8 @@ class RenderSemanticsGestureHandler extends RenderProxyBox implements SemanticsA set onVerticalDragUpdate(GestureDragUpdateCallback value) { if (_onVerticalDragUpdate == value) return; - bool wasSemanticBoundary = isSemanticBoundary; - bool hadHandler = _onVerticalDragUpdate != null; + final bool wasSemanticBoundary = isSemanticBoundary; + final bool hadHandler = _onVerticalDragUpdate != null; _onVerticalDragUpdate = value; if ((value != null) != hadHandler) markNeedsSemanticsUpdate(onlyChanges: isSemanticBoundary == wasSemanticBoundary); @@ -2750,7 +2750,7 @@ class RenderSemanticsAnnotations extends RenderProxyBox { set checked(bool value) { if (checked == value) return; - bool hadValue = checked != null; + final bool hadValue = checked != null; _checked = value; markNeedsSemanticsUpdate(onlyChanges: (value != null) == hadValue); } @@ -2761,7 +2761,7 @@ class RenderSemanticsAnnotations extends RenderProxyBox { set label(String value) { if (label == value) return; - bool hadValue = label != null; + final bool hadValue = label != null; _label = value; markNeedsSemanticsUpdate(onlyChanges: (value != null) == hadValue); } diff --git a/packages/flutter/lib/src/rendering/rotated_box.dart b/packages/flutter/lib/src/rendering/rotated_box.dart index 00d26f7b59..b452720b1b 100644 --- a/packages/flutter/lib/src/rendering/rotated_box.dart +++ b/packages/flutter/lib/src/rendering/rotated_box.dart @@ -93,7 +93,7 @@ class RenderRotatedBox extends RenderBox with RenderObjectWithChildMixin seenChildren = new Set(); + final Set seenChildren = new Set(); for (SemanticsNode child in _newChildren) assert(seenChildren.add(child)); // check for duplicate adds return true; @@ -411,7 +411,7 @@ class SemanticsNode extends AbstractNode { } } } - List oldChildren = _children; + final List oldChildren = _children; _children = _newChildren; oldChildren?.clear(); _newChildren = oldChildren; @@ -565,7 +565,7 @@ class SemanticsNode extends AbstractNode { @override String toString() { - StringBuffer buffer = new StringBuffer(); + final StringBuffer buffer = new StringBuffer(); buffer.write('$runtimeType($id'); if (_dirty) buffer.write(' (${ owner != null && owner._dirtyNodes.contains(this) ? "dirty" : "STALE; owner=$owner" })'); @@ -595,7 +595,7 @@ class SemanticsNode extends AbstractNode { String result = '$prefixLineOne$this\n'; if (_children != null && _children.isNotEmpty) { for (int index = 0; index < _children.length - 1; index += 1) { - SemanticsNode child = _children[index]; + final SemanticsNode child = _children[index]; result += '${child.toStringDeep("$prefixOtherLines \u251C", "$prefixOtherLines \u2502")}'; } result += '${_children.last.toStringDeep("$prefixOtherLines \u2514", "$prefixOtherLines ")}'; @@ -631,9 +631,9 @@ class SemanticsOwner extends ChangeNotifier { void sendSemanticsUpdate() { if (_dirtyNodes.isEmpty) return; - List visitedNodes = []; + final List visitedNodes = []; while (_dirtyNodes.isNotEmpty) { - List localDirtyNodes = _dirtyNodes.where((SemanticsNode node) => !_detachedNodes.contains(node)).toList(); + final List localDirtyNodes = _dirtyNodes.where((SemanticsNode node) => !_detachedNodes.contains(node)).toList(); _dirtyNodes.clear(); _detachedNodes.clear(); localDirtyNodes.sort((SemanticsNode a, SemanticsNode b) => a.depth - b.depth); @@ -669,7 +669,7 @@ class SemanticsOwner extends ChangeNotifier { } } visitedNodes.sort((SemanticsNode a, SemanticsNode b) => a.depth - b.depth); - ui.SemanticsUpdateBuilder builder = new ui.SemanticsUpdateBuilder(); + final ui.SemanticsUpdateBuilder builder = new ui.SemanticsUpdateBuilder(); for (SemanticsNode node in visitedNodes) { assert(node.parent?._dirty != true); // could be null (no parent) or false (not dirty) // The _serialize() method marks the node as not dirty, and @@ -712,13 +712,13 @@ class SemanticsOwner extends ChangeNotifier { /// this function does nothing. void performAction(int id, SemanticsAction action) { assert(action != null); - SemanticsActionHandler handler = _getSemanticsActionHandlerForId(id, action); + final SemanticsActionHandler handler = _getSemanticsActionHandlerForId(id, action); handler?.performAction(action); } SemanticsActionHandler _getSemanticsActionHandlerForPosition(SemanticsNode node, Point position, SemanticsAction action) { if (node.transform != null) { - Matrix4 inverse = new Matrix4.identity(); + final Matrix4 inverse = new Matrix4.identity(); if (inverse.copyInverse(node.transform) == 0.0) return null; position = MatrixUtils.transformPoint(inverse, position); @@ -738,7 +738,7 @@ class SemanticsOwner extends ChangeNotifier { } if (node.hasChildren) { for (SemanticsNode child in node._children.reversed) { - SemanticsActionHandler handler = _getSemanticsActionHandlerForPosition(child, position, action); + final SemanticsActionHandler handler = _getSemanticsActionHandlerForPosition(child, position, action); if (handler != null) return handler; } @@ -755,7 +755,7 @@ class SemanticsOwner extends ChangeNotifier { final SemanticsNode node = rootSemanticsNode; if (node == null) return; - SemanticsActionHandler handler = _getSemanticsActionHandlerForPosition(node, position, action); + final SemanticsActionHandler handler = _getSemanticsActionHandlerForPosition(node, position, action); handler?.performAction(action); } diff --git a/packages/flutter/lib/src/rendering/shifted_box.dart b/packages/flutter/lib/src/rendering/shifted_box.dart index f7704a8813..bb1e6f5836 100644 --- a/packages/flutter/lib/src/rendering/shifted_box.dart +++ b/packages/flutter/lib/src/rendering/shifted_box.dart @@ -158,7 +158,7 @@ class RenderPadding extends RenderShiftedBox { )); return; } - BoxConstraints innerConstraints = constraints.deflate(padding); + final BoxConstraints innerConstraints = constraints.deflate(padding); child.layout(innerConstraints, parentUsesSize: true); final BoxParentData childParentData = child.parentData; childParentData.offset = new Offset(padding.left, padding.top); @@ -325,7 +325,7 @@ class RenderPositionedBox extends RenderAligningShiftedBox { final BoxParentData childParentData = child.parentData; if (childParentData.offset.dy > 0.0) { // vertical alignment arrows - double headSize = math.min(childParentData.offset.dy * 0.2, 10.0); + final double headSize = math.min(childParentData.offset.dy * 0.2, 10.0); path ..moveTo(offset.dx + size.width / 2.0, offset.dy) ..relativeLineTo(0.0, childParentData.offset.dy - headSize) @@ -343,7 +343,7 @@ class RenderPositionedBox extends RenderAligningShiftedBox { } if (childParentData.offset.dx > 0.0) { // horizontal alignment arrows - double headSize = math.min(childParentData.offset.dx * 0.2, 10.0); + final double headSize = math.min(childParentData.offset.dx * 0.2, 10.0); path ..moveTo(offset.dx, offset.dy + size.height / 2.0) ..relativeLineTo(childParentData.offset.dx - headSize, 0.0) @@ -614,14 +614,14 @@ class RenderFractionallySizedOverflowBox extends RenderAligningShiftedBox { double minWidth = constraints.minWidth; double maxWidth = constraints.maxWidth; if (_widthFactor != null) { - double width = maxWidth * _widthFactor; + final double width = maxWidth * _widthFactor; minWidth = width; maxWidth = width; } double minHeight = constraints.minHeight; double maxHeight = constraints.maxHeight; if (_heightFactor != null) { - double height = maxHeight * _heightFactor; + final double height = maxHeight * _heightFactor; minHeight = height; maxHeight = height; } @@ -870,7 +870,7 @@ class RenderCustomSingleChildLayoutBox extends RenderShiftedBox { void performLayout() { size = _getSize(constraints); if (child != null) { - BoxConstraints childConstraints = delegate.getConstraintsForChild(constraints); + final BoxConstraints childConstraints = delegate.getConstraintsForChild(constraints); assert(childConstraints.debugAssertIsValid(isAppliedConstraint: true)); child.layout(childConstraints, parentUsesSize: !childConstraints.isTight); final BoxParentData childParentData = child.parentData; diff --git a/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart b/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart index ac31a48f47..33a0e937ac 100644 --- a/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart +++ b/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart @@ -60,7 +60,7 @@ abstract class RenderSliverFixedExtentBoxAdaptor extends RenderSliverMultiBoxAda assert(remainingPaintExtent >= 0.0); final double targetEndScrollOffset = scrollOffset + remainingPaintExtent; - BoxConstraints childConstraints = constraints.asBoxConstraints( + final BoxConstraints childConstraints = constraints.asBoxConstraints( minExtent: itemExtent, maxExtent: itemExtent, ); diff --git a/packages/flutter/lib/src/rendering/sliver_grid.dart b/packages/flutter/lib/src/rendering/sliver_grid.dart index b14c45d266..692d1f798d 100644 --- a/packages/flutter/lib/src/rendering/sliver_grid.dart +++ b/packages/flutter/lib/src/rendering/sliver_grid.dart @@ -468,7 +468,7 @@ class RenderSliverGrid extends RenderSliverMultiBoxAdaptor { } final SliverGridGeometry firstChildGridGeometry = layout.getGeometryForChildIndex(firstIndex); - double leadingScrollOffset = firstChildGridGeometry.scrollOffset; + final double leadingScrollOffset = firstChildGridGeometry.scrollOffset; double trailingScrollOffset = firstChildGridGeometry.trailingScrollOffset; if (firstChild == null) { diff --git a/packages/flutter/lib/src/rendering/sliver_list.dart b/packages/flutter/lib/src/rendering/sliver_list.dart index c401a13ed6..9811da861b 100644 --- a/packages/flutter/lib/src/rendering/sliver_list.dart +++ b/packages/flutter/lib/src/rendering/sliver_list.dart @@ -19,12 +19,12 @@ class RenderSliverList extends RenderSliverMultiBoxAdaptor { assert(childManager.debugAssertChildListLocked()); childManager.setDidUnderflow(false); - double scrollOffset = constraints.scrollOffset; + final double scrollOffset = constraints.scrollOffset; assert(scrollOffset >= 0.0); - double remainingPaintExtent = constraints.remainingPaintExtent; + final double remainingPaintExtent = constraints.remainingPaintExtent; assert(remainingPaintExtent >= 0.0); - double targetEndScrollOffset = scrollOffset + remainingPaintExtent; - BoxConstraints childConstraints = constraints.asBoxConstraints(); + final double targetEndScrollOffset = scrollOffset + remainingPaintExtent; + final BoxConstraints childConstraints = constraints.asBoxConstraints(); int leadingGarbage = 0; int trailingGarbage = 0; bool reachedEnd = false; diff --git a/packages/flutter/lib/src/rendering/stack.dart b/packages/flutter/lib/src/rendering/stack.dart index 994e7671f7..a8819c57a9 100644 --- a/packages/flutter/lib/src/rendering/stack.dart +++ b/packages/flutter/lib/src/rendering/stack.dart @@ -105,7 +105,7 @@ class RelativeRect { if (a == null) return new RelativeRect.fromLTRB(b.left * t, b.top * t, b.right * t, b.bottom * t); if (b == null) { - double k = 1.0 - t; + final double k = 1.0 - t; return new RelativeRect.fromLTRB(b.left * k, b.top * k, b.right * k, b.bottom * k); } return new RelativeRect.fromLTRB( @@ -179,7 +179,7 @@ class StackParentData extends ContainerBoxParentDataMixin { @override String toString() { - List values = []; + final List values = []; if (top != null) values.add('top=$top'); if (right != null) @@ -493,9 +493,9 @@ class RenderIndexedStack extends RenderStack { if (firstChild == null || index == null) return false; assert(position != null); - RenderBox child = _childAtIndex(); + final RenderBox child = _childAtIndex(); final StackParentData childParentData = child.parentData; - Point transformed = new Point(position.x - childParentData.offset.dx, + final Point transformed = new Point(position.x - childParentData.offset.dx, position.y - childParentData.offset.dy); return child.hitTest(result, position: transformed); } @@ -504,7 +504,7 @@ class RenderIndexedStack extends RenderStack { void paintStack(PaintingContext context, Offset offset) { if (firstChild == null || index == null) return; - RenderBox child = _childAtIndex(); + final RenderBox child = _childAtIndex(); final StackParentData childParentData = child.parentData; context.paintChild(child, childParentData.offset + offset); } diff --git a/packages/flutter/lib/src/rendering/table.dart b/packages/flutter/lib/src/rendering/table.dart index b7b100c583..a3666924d7 100644 --- a/packages/flutter/lib/src/rendering/table.dart +++ b/packages/flutter/lib/src/rendering/table.dart @@ -295,10 +295,10 @@ class MinColumnWidth extends TableColumnWidth { @override double flex(Iterable cells) { - double aFlex = a.flex(cells); + final double aFlex = a.flex(cells); if (aFlex == null) return b.flex(cells); - double bFlex = b.flex(cells); + final double bFlex = b.flex(cells); if (bFlex == null) return null; return math.min(aFlex, bFlex); @@ -526,11 +526,11 @@ class RenderTable extends RenderBox { assert(value >= 0); if (value == columns) return; - int oldColumns = columns; - List oldChildren = _children; + final int oldColumns = columns; + final List oldChildren = _children; _columns = value; _children = new List()..length = columns * rows; - int columnsToCopy = math.min(columns, oldColumns); + final int columnsToCopy = math.min(columns, oldColumns); for (int y = 0; y < rows; y += 1) { for (int x = 0; x < columnsToCopy; x += 1) _children[x + y * columns] = oldChildren[x + y * oldColumns]; @@ -538,7 +538,7 @@ class RenderTable extends RenderBox { if (oldColumns > columns) { for (int y = 0; y < rows; y += 1) { for (int x = columns; x < oldColumns; x += 1) { - int xy = x + y * oldColumns; + final int xy = x + y * oldColumns; if (oldChildren[xy] != null) dropChild(oldChildren[xy]); } @@ -715,8 +715,8 @@ class RenderTable extends RenderBox { final Set lostChildren = new HashSet(); for (int y = 0; y < _rows; y += 1) { for (int x = 0; x < _columns; x += 1) { - int xyOld = x + y * _columns; - int xyNew = x + y * columns; + final int xyOld = x + y * _columns; + final int xyNew = x + y * columns; if (_children[xyOld] != null && (x >= columns || xyNew >= cells.length || _children[xyOld] != cells[xyNew])) lostChildren.add(_children[xyOld]); } @@ -725,8 +725,8 @@ class RenderTable extends RenderBox { int y = 0; while (y * columns < cells.length) { for (int x = 0; x < columns; x += 1) { - int xyNew = x + y * columns; - int xyOld = x + y * _columns; + final int xyNew = x + y * columns; + final int xyOld = x + y * _columns; if (cells[xyNew] != null && (x >= _columns || y >= _rows || _children[xyOld] != cells[xyNew])) { if (!lostChildren.remove(cells[xyNew])) adoptChild(cells[xyNew]); @@ -790,7 +790,7 @@ class RenderTable extends RenderBox { assert(x >= 0 && x < columns && y >= 0 && y < rows); assert(_children.length == rows * columns); final int xy = x + y * columns; - RenderBox oldChild = _children[xy]; + final RenderBox oldChild = _children[xy]; if (oldChild == value) return; if (oldChild != null) @@ -833,8 +833,8 @@ class RenderTable extends RenderBox { assert(_children.length == rows * columns); double totalMinWidth = 0.0; for (int x = 0; x < columns; x += 1) { - TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; - Iterable columnCells = column(x); + final TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; + final Iterable columnCells = column(x); totalMinWidth += columnWidth.minIntrinsicWidth(columnCells, double.INFINITY); } return totalMinWidth; @@ -845,8 +845,8 @@ class RenderTable extends RenderBox { assert(_children.length == rows * columns); double totalMaxWidth = 0.0; for (int x = 0; x < columns; x += 1) { - TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; - Iterable columnCells = column(x); + final TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; + final Iterable columnCells = column(x); totalMaxWidth += columnWidth.maxIntrinsicWidth(columnCells, double.INFINITY); } return totalMaxWidth; @@ -863,7 +863,7 @@ class RenderTable extends RenderBox { double rowHeight = 0.0; for (int x = 0; x < columns; x += 1) { final int xy = x + y * columns; - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) rowHeight = math.max(rowHeight, child.getMaxIntrinsicHeight(widths[x])); } @@ -892,7 +892,7 @@ class RenderTable extends RenderBox { Iterable column(int x) sync* { for (int y = 0; y < rows; y += 1) { final int xy = x + y * columns; - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) yield child; } @@ -906,7 +906,7 @@ class RenderTable extends RenderBox { final int start = y * columns; final int end = (y + 1) * columns; for (int xy = start; xy < end; xy += 1) { - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) yield child; } @@ -933,8 +933,8 @@ class RenderTable extends RenderBox { double unflexedTableWidth = 0.0; // sum of the maxIntrinsicWidths of any column that has null flex double totalFlex = 0.0; for (int x = 0; x < columns; x += 1) { - TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; - Iterable columnCells = column(x); + final TableColumnWidth columnWidth = _columnWidths[x] ?? defaultColumnWidth; + final Iterable columnCells = column(x); // apply ideal width (maxIntrinsicWidth) final double maxIntrinsicWidth = columnWidth.maxIntrinsicWidth(columnCells, constraints.maxWidth); assert(maxIntrinsicWidth.isFinite); @@ -948,7 +948,7 @@ class RenderTable extends RenderBox { minWidths[x] = minIntrinsicWidth; assert(maxIntrinsicWidth >= minIntrinsicWidth); // collect flex information while we're at it - double flex = columnWidth.flex(columnCells); + final double flex = columnWidth.flex(columnCells); if (flex != null) { assert(flex.isFinite); assert(flex > 0.0); @@ -1058,7 +1058,7 @@ class RenderTable extends RenderBox { final double delta = deficit / availableColumns; int newAvailableColumns = 0; for (int x = 0; x < columns; x += 1) { - double availableDelta = widths[x] - minWidths[x]; + final double availableDelta = widths[x] - minWidths[x]; if (availableDelta > 0.0) { if (availableDelta <= delta) { // shrank to minimum @@ -1122,12 +1122,12 @@ class RenderTable extends RenderBox { bool haveBaseline = false; double beforeBaselineDistance = 0.0; double afterBaselineDistance = 0.0; - List baselines = new List(columns); + final List baselines = new List(columns); for (int x = 0; x < columns; x += 1) { final int xy = x + y * columns; - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) { - TableCellParentData childParentData = child.parentData; + final TableCellParentData childParentData = child.parentData; assert(childParentData != null); childParentData.x = x; childParentData.y = y; @@ -1135,7 +1135,7 @@ class RenderTable extends RenderBox { case TableCellVerticalAlignment.baseline: assert(textBaseline != null); child.layout(new BoxConstraints.tightFor(width: widths[x]), parentUsesSize: true); - double childBaseline = child.getDistanceToBaseline(textBaseline, onlyReal: true); + final double childBaseline = child.getDistanceToBaseline(textBaseline, onlyReal: true); if (childBaseline != null) { beforeBaselineDistance = math.max(beforeBaselineDistance, childBaseline); afterBaselineDistance = math.max(afterBaselineDistance, child.size.height - childBaseline); @@ -1164,7 +1164,7 @@ class RenderTable extends RenderBox { } for (int x = 0; x < columns; x += 1) { final int xy = x + y * columns; - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) { final TableCellParentData childParentData = child.parentData; switch (childParentData.verticalAlignment ?? defaultVerticalAlignment) { @@ -1199,10 +1199,10 @@ class RenderTable extends RenderBox { bool hitTestChildren(HitTestResult result, { Point position }) { assert(_children.length == rows * columns); for (int index = _children.length - 1; index >= 0; index -= 1) { - RenderBox child = _children[index]; + final RenderBox child = _children[index]; if (child != null) { final BoxParentData childParentData = child.parentData; - Point transformed = new Point(position.x - childParentData.offset.dx, + final Point transformed = new Point(position.x - childParentData.offset.dx, position.y - childParentData.offset.dy); if (child.hitTest(result, position: transformed)) return true; @@ -1234,22 +1234,22 @@ class RenderTable extends RenderBox { } } for (int index = 0; index < _children.length; index += 1) { - RenderBox child = _children[index]; + final RenderBox child = _children[index]; if (child != null) { final BoxParentData childParentData = child.parentData; context.paintChild(child, childParentData.offset + offset); } } canvas = context.canvas; - Rect bounds = offset & size; + final Rect bounds = offset & size; if (border != null) { switch (border.verticalInside.style) { case BorderStyle.solid: - Paint paint = new Paint() + final Paint paint = new Paint() ..color = border.verticalInside.color ..strokeWidth = border.verticalInside.width ..style = PaintingStyle.stroke; - Path path = new Path(); + final Path path = new Path(); for (int x = 1; x < columns; x += 1) { path.moveTo(bounds.left + _columnLefts[x], bounds.top); path.lineTo(bounds.left + _columnLefts[x], bounds.bottom); @@ -1260,11 +1260,11 @@ class RenderTable extends RenderBox { } switch (border.horizontalInside.style) { case BorderStyle.solid: - Paint paint = new Paint() + final Paint paint = new Paint() ..color = border.horizontalInside.color ..strokeWidth = border.horizontalInside.width ..style = PaintingStyle.stroke; - Path path = new Path(); + final Path path = new Path(); for (int y = 1; y < rows; y += 1) { path.moveTo(bounds.left, bounds.top + _rowTops[y]); path.lineTo(bounds.right, bounds.top + _rowTops[y]); @@ -1292,16 +1292,16 @@ class RenderTable extends RenderBox { @override String debugDescribeChildren(String prefix) { - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); result.writeln('$prefix \u2502'); - int lastIndex = _children.length - 1; + final int lastIndex = _children.length - 1; if (lastIndex < 0) { result.writeln('$prefix \u2514\u2500table is empty'); } else { for (int y = 0; y < rows; y += 1) { for (int x = 0; x < columns; x += 1) { final int xy = x + y * columns; - RenderBox child = _children[xy]; + final RenderBox child = _children[xy]; if (child != null) { if (xy < lastIndex) { result.write('${child.toStringDeep("$prefix \u251C\u2500child ($x, $y): ", "$prefix \u2502")}'); diff --git a/packages/flutter/lib/src/rendering/view.dart b/packages/flutter/lib/src/rendering/view.dart index 3ad8bdd855..dc7846493d 100644 --- a/packages/flutter/lib/src/rendering/view.dart +++ b/packages/flutter/lib/src/rendering/view.dart @@ -148,9 +148,9 @@ class RenderView extends RenderObject with RenderObjectWithChildMixin void compositeFrame() { Timeline.startSync('Compositing'); try { - ui.SceneBuilder builder = new ui.SceneBuilder(); + final ui.SceneBuilder builder = new ui.SceneBuilder(); layer.addToScene(builder, Offset.zero); - ui.Scene scene = builder.build(); + final ui.Scene scene = builder.build(); ui.window.render(scene); scene.dispose(); assert(() { diff --git a/packages/flutter/lib/src/rendering/viewport.dart b/packages/flutter/lib/src/rendering/viewport.dart index e5df61a7d7..4a7bb87a8d 100644 --- a/packages/flutter/lib/src/rendering/viewport.dart +++ b/packages/flutter/lib/src/rendering/viewport.dart @@ -675,7 +675,7 @@ class RenderViewport extends RenderViewportBase localPostFrameCallbacks = + final List localPostFrameCallbacks = new List.from(_postFrameCallbacks); _postFrameCallbacks.clear(); for (FrameCallback callback in localPostFrameCallbacks) @@ -636,7 +636,7 @@ abstract class SchedulerBinding extends BindingBase { void _invokeTransientFrameCallbacks(Duration timeStamp) { Timeline.startSync('Animate'); assert(schedulerPhase == SchedulerPhase.transientCallbacks); - Map callbacks = _transientCallbacks; + final Map callbacks = _transientCallbacks; _transientCallbacks = new Map(); callbacks.forEach((int id, _FrameCallbackEntry callbackEntry) { if (!_removedIds.contains(id)) @@ -656,7 +656,7 @@ abstract class SchedulerBinding extends BindingBase { if (timeStamp.inSeconds > 0) buffer.write('${timeStamp.inSeconds - timeStamp.inMinutes * Duration.SECONDS_PER_MINUTE}s '); buffer.write('${timeStamp.inMilliseconds - timeStamp.inSeconds * Duration.MILLISECONDS_PER_SECOND}'); - int microseconds = timeStamp.inMicroseconds - timeStamp.inMilliseconds * Duration.MICROSECONDS_PER_MILLISECOND; + final int microseconds = timeStamp.inMicroseconds - timeStamp.inMilliseconds * Duration.MICROSECONDS_PER_MILLISECOND; if (microseconds > 0) buffer.write('.${microseconds.toString().padLeft(3, "0")}'); buffer.write('ms'); diff --git a/packages/flutter/lib/src/scheduler/ticker.dart b/packages/flutter/lib/src/scheduler/ticker.dart index f2dce6888e..4f7557c1de 100644 --- a/packages/flutter/lib/src/scheduler/ticker.dart +++ b/packages/flutter/lib/src/scheduler/ticker.dart @@ -164,7 +164,7 @@ class Ticker { // We take the _completer into a local variable so that isTicking is false // when we actually complete the future (isTicking uses _completer to // determine its state). - Completer localCompleter = _completer; + final Completer localCompleter = _completer; _completer = null; _startTime = null; assert(!isActive); diff --git a/packages/flutter/lib/src/services/asset_bundle.dart b/packages/flutter/lib/src/services/asset_bundle.dart index 5b8b0f1c7d..373aa840da 100644 --- a/packages/flutter/lib/src/services/asset_bundle.dart +++ b/packages/flutter/lib/src/services/asset_bundle.dart @@ -92,7 +92,7 @@ class NetworkAssetBundle extends AssetBundle { @override Future load(String key) async { - http.Response response = await http.get(_urlFromKey(key)); + final http.Response response = await http.get(_urlFromKey(key)); if (response.statusCode == 200) return null; return response.bodyBytes.buffer.asByteData(); @@ -100,7 +100,7 @@ class NetworkAssetBundle extends AssetBundle { @override Future loadString(String key, { bool cache: true }) async { - http.Response response = await http.get(_urlFromKey(key)); + final http.Response response = await http.get(_urlFromKey(key)); return response.statusCode == 200 ? response.body : null; } @@ -199,7 +199,7 @@ abstract class CachingAssetBundle extends AssetBundle { class PlatformAssetBundle extends CachingAssetBundle { @override Future load(String key) { - Uint8List encoded = UTF8.encoder.convert(key); + final Uint8List encoded = UTF8.encoder.convert(key); return PlatformMessages.sendBinary('flutter/assets', encoded.buffer.asByteData()); } } diff --git a/packages/flutter/lib/src/services/clipboard.dart b/packages/flutter/lib/src/services/clipboard.dart index 1ef9a427cc..7b9dc2406f 100644 --- a/packages/flutter/lib/src/services/clipboard.dart +++ b/packages/flutter/lib/src/services/clipboard.dart @@ -50,7 +50,7 @@ class Clipboard { /// Returns a future which completes to null if the data could not be /// obtained, and to a [ClipboardData] object if it could. static Future getData(String format) async { - Map result = await PlatformMessages.invokeMethod( + final Map result = await PlatformMessages.invokeMethod( _kChannelName, 'Clipboard.getData', [format] diff --git a/packages/flutter/lib/src/services/image_decoder.dart b/packages/flutter/lib/src/services/image_decoder.dart index 651414ba50..c2da40ac27 100644 --- a/packages/flutter/lib/src/services/image_decoder.dart +++ b/packages/flutter/lib/src/services/image_decoder.dart @@ -12,7 +12,7 @@ import 'dart:ui' as ui show Image, decodeImageFromList; /// the returned [Future] resolves to the decoded image. Otherwise, the [Future] /// resolves to [null]. Future decodeImageFromList(Uint8List list) { - Completer completer = new Completer(); + final Completer completer = new Completer(); ui.decodeImageFromList(list, (ui.Image image) { completer.complete(image); }); diff --git a/packages/flutter/lib/src/services/image_provider.dart b/packages/flutter/lib/src/services/image_provider.dart index 17d63814f4..1d59abcf97 100644 --- a/packages/flutter/lib/src/services/image_provider.dart +++ b/packages/flutter/lib/src/services/image_provider.dart @@ -92,7 +92,7 @@ class ImageConfiguration { @override String toString() { - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); result.write('ImageConfiguration('); bool hasArguments = false; if (bundle != null) { @@ -340,7 +340,7 @@ class NetworkImage extends ImageProvider { if (response == null || response.statusCode != 200) return null; - Uint8List bytes = response.bodyBytes; + final Uint8List bytes = response.bodyBytes; if (bytes.lengthInBytes == 0) return null; @@ -402,7 +402,7 @@ class FileImage extends ImageProvider { Future _loadAsync(FileImage key) async { assert(key == this); - Uint8List bytes = await file.readAsBytes(); + final Uint8List bytes = await file.readAsBytes(); if (bytes.lengthInBytes == 0) return null; diff --git a/packages/flutter/lib/src/services/image_resolution.dart b/packages/flutter/lib/src/services/image_resolution.dart index 30b20215b5..123860e7c3 100644 --- a/packages/flutter/lib/src/services/image_resolution.dart +++ b/packages/flutter/lib/src/services/image_resolution.dart @@ -163,8 +163,8 @@ class AssetImage extends AssetBundleImageProvider { String _findNearest(SplayTreeMap candidates, double value) { if (candidates.containsKey(value)) return candidates[value]; - double lower = candidates.lastKeyBefore(value); - double upper = candidates.firstKeyAfter(value); + final double lower = candidates.lastKeyBefore(value); + final double upper = candidates.firstKeyAfter(value); if (lower == null) return candidates[upper]; if (upper == null) @@ -178,7 +178,7 @@ class AssetImage extends AssetBundleImageProvider { static final RegExp _extractRatioRegExp = new RegExp(r"/?(\d+(\.\d*)?)x/"); double _parseScale(String key) { - Match match = _extractRatioRegExp.firstMatch(key); + final Match match = _extractRatioRegExp.firstMatch(key); if (match != null && match.groupCount > 0) return double.parse(match.group(1)); return _naturalResolution; diff --git a/packages/flutter/lib/src/services/image_stream.dart b/packages/flutter/lib/src/services/image_stream.dart index 8891f9a816..39c701a8e9 100644 --- a/packages/flutter/lib/src/services/image_stream.dart +++ b/packages/flutter/lib/src/services/image_stream.dart @@ -122,7 +122,7 @@ class ImageStream { @override String toString() { - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); result.write('$runtimeType('); if (_completer == null) { result.write('unresolved; '); @@ -181,7 +181,7 @@ class ImageStreamCompleter { _current = image; if (_listeners.isEmpty) return; - List localListeners = new List.from(_listeners); + final List localListeners = new List.from(_listeners); for (ImageListener listener in localListeners) { try { listener(image, false); diff --git a/packages/flutter/lib/src/services/path_provider.dart b/packages/flutter/lib/src/services/path_provider.dart index e2519d019f..913a83b5ab 100644 --- a/packages/flutter/lib/src/services/path_provider.dart +++ b/packages/flutter/lib/src/services/path_provider.dart @@ -24,7 +24,7 @@ class PathProvider { /// /// On Android, this uses the `getCacheDir` API on the context. static Future getTemporaryDirectory() async { - Map result = await PlatformMessages.invokeMethod( + final Map result = await PlatformMessages.invokeMethod( _kChannelName, 'PathProvider.getTemporaryDirectory'); if (result == null) return null; @@ -39,7 +39,7 @@ class PathProvider { /// /// On Android, this returns the AppData directory. static Future getApplicationDocumentsDirectory() async { - Map result = await PlatformMessages.invokeMethod( + final Map result = await PlatformMessages.invokeMethod( _kChannelName, 'PathProvider.getApplicationDocumentsDirectory'); if (result == null) return null; diff --git a/packages/flutter/lib/src/services/platform_messages.dart b/packages/flutter/lib/src/services/platform_messages.dart index f2a3d2d06a..f7351309dd 100644 --- a/packages/flutter/lib/src/services/platform_messages.dart +++ b/packages/flutter/lib/src/services/platform_messages.dart @@ -12,7 +12,7 @@ import 'package:flutter/foundation.dart'; ByteData _encodeUTF8(String message) { if (message == null) return null; - Uint8List encoded = UTF8.encoder.convert(message); + final Uint8List encoded = UTF8.encoder.convert(message); return encoded.buffer.asByteData(); } @@ -71,7 +71,7 @@ class PlatformMessages { String channel, ByteData data, ui.PlatformMessageResponseCallback callback) async { ByteData response; try { - _PlatformMessageHandler handler = _handlers[channel]; + final _PlatformMessageHandler handler = _handlers[channel]; if (handler != null) response = await handler(data); } catch (exception, stack) { diff --git a/packages/flutter/lib/src/services/raw_keyboard.dart b/packages/flutter/lib/src/services/raw_keyboard.dart index cbfecee99a..abb5b33ca0 100644 --- a/packages/flutter/lib/src/services/raw_keyboard.dart +++ b/packages/flutter/lib/src/services/raw_keyboard.dart @@ -130,7 +130,7 @@ class RawKeyUpEvent extends RawKeyEvent { RawKeyEvent _toRawKeyEvent(Map message) { RawKeyEventData data; - String keymap = message['keymap']; + final String keymap = message['keymap']; switch (keymap) { case 'android': data = new RawKeyEventDataAndroid( @@ -154,7 +154,7 @@ RawKeyEvent _toRawKeyEvent(Map message) { throw new FlutterError('Unknown keymap for key events: $keymap'); } - String type = message['type']; + final String type = message['type']; switch (type) { case 'keydown': return new RawKeyDownEvent(data: data); @@ -207,7 +207,7 @@ class RawKeyboard { Future _handleKeyEvent(dynamic message) async { if (_listeners.isEmpty) return; - RawKeyEvent event = _toRawKeyEvent(message); + final RawKeyEvent event = _toRawKeyEvent(message); if (event == null) return; for (ValueChanged listener in new List>.from(_listeners)) diff --git a/packages/flutter/lib/src/services/system_chrome.dart b/packages/flutter/lib/src/services/system_chrome.dart index e9f8f6e637..364bf56e56 100644 --- a/packages/flutter/lib/src/services/system_chrome.dart +++ b/packages/flutter/lib/src/services/system_chrome.dart @@ -90,7 +90,7 @@ enum SystemUiOverlayStyle { const String _kChannelName = 'flutter/platform'; List _stringify(List list) { - List result = []; + final List result = []; for (dynamic item in list) result.add(item.toString()); return result; diff --git a/packages/flutter/lib/src/widgets/app.dart b/packages/flutter/lib/src/widgets/app.dart index 4e7d20cb02..f3d474b666 100644 --- a/packages/flutter/lib/src/widgets/app.dart +++ b/packages/flutter/lib/src/widgets/app.dart @@ -153,7 +153,7 @@ class _WidgetsAppState extends State implements WidgetsBindingObserv @override Future didPopRoute() async { assert(mounted); - NavigatorState navigator = _navigator.currentState; + final NavigatorState navigator = _navigator.currentState; assert(navigator != null); return await navigator.maybePop(); } diff --git a/packages/flutter/lib/src/widgets/basic.dart b/packages/flutter/lib/src/widgets/basic.dart index 735e619e74..92ddabbd23 100644 --- a/packages/flutter/lib/src/widgets/basic.dart +++ b/packages/flutter/lib/src/widgets/basic.dart @@ -842,7 +842,7 @@ class LayoutId extends ParentDataWidget { final MultiChildLayoutParentData parentData = renderObject.parentData; if (parentData.id != id) { parentData.id = id; - AbstractNode targetParent = renderObject.parent; + final AbstractNode targetParent = renderObject.parent; if (targetParent is RenderObject) targetParent.markNeedsLayout(); } @@ -960,7 +960,7 @@ class SizedBox extends SingleChildRenderObjectWidget { @override String toStringShort() { - String type = (width == double.INFINITY && height == double.INFINITY) ? + final String type = (width == double.INFINITY && height == double.INFINITY) ? '$runtimeType.expand' : '$runtimeType'; return key == null ? '$type' : '$type-$key'; } @@ -1820,7 +1820,7 @@ class Positioned extends ParentDataWidget { } if (needsLayout) { - AbstractNode targetParent = renderObject.parent; + final AbstractNode targetParent = renderObject.parent; if (targetParent is RenderObject) targetParent.markNeedsLayout(); } @@ -2183,7 +2183,7 @@ class Flexible extends ParentDataWidget { } if (needsLayout) { - AbstractNode targetParent = renderObject.parent; + final AbstractNode targetParent = renderObject.parent; if (targetParent is RenderObject) targetParent.markNeedsLayout(); } @@ -2551,7 +2551,7 @@ class DefaultAssetBundle extends InheritedWidget { /// AssetBundle bundle = DefaultAssetBundle.of(context); /// ``` static AssetBundle of(BuildContext context) { - DefaultAssetBundle result = context.inheritFromWidgetOfExactType(DefaultAssetBundle); + final DefaultAssetBundle result = context.inheritFromWidgetOfExactType(DefaultAssetBundle); return result?.bundle ?? rootBundle; } @@ -2662,7 +2662,7 @@ class Listener extends SingleChildRenderObjectWidget { @override void debugFillDescription(List description) { super.debugFillDescription(description); - List listeners = []; + final List listeners = []; if (onPointerDown != null) listeners.add('down'); if (onPointerMove != null) @@ -2707,7 +2707,7 @@ class RepaintBoundary extends SingleChildRenderObjectWidget { /// (if the child has a non-null key) or from the given `childIndex`. factory RepaintBoundary.wrap(Widget child, int childIndex) { assert(child != null); - Key key = child.key != null ? new ValueKey(child.key) : new ValueKey(childIndex); + final Key key = child.key != null ? new ValueKey(child.key) : new ValueKey(childIndex); return new RepaintBoundary(key: key, child: child); } @@ -2717,7 +2717,7 @@ class RepaintBoundary extends SingleChildRenderObjectWidget { /// child's key (if the wrapped child has a non-null key) or from the wrapped /// child's index in the list. static List wrapAll(List widgets) { - List result = new List(widgets.length); + final List result = new List(widgets.length); for (int i = 0; i < result.length; ++i) result[i] = new RepaintBoundary.wrap(widgets[i], i); return result; @@ -3016,7 +3016,7 @@ class KeyedSubtree extends StatelessWidget { /// Creates a KeyedSubtree for child with a key that's based on the child's existing key or childIndex. factory KeyedSubtree.wrap(Widget child, int childIndex) { - Key key = child.key != null ? new ValueKey(child.key) : new ValueKey(childIndex); + final Key key = child.key != null ? new ValueKey(child.key) : new ValueKey(childIndex); return new KeyedSubtree(key: key, child: child); } @@ -3026,7 +3026,7 @@ class KeyedSubtree extends StatelessWidget { if (items == null || items.isEmpty) return items; - List itemsWithUniqueKeys = []; + final List itemsWithUniqueKeys = []; int itemIndex = baseIndex; for (Widget item in items) { itemsWithUniqueKeys.add(new KeyedSubtree.wrap(item, itemIndex)); diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart index 343ac128bb..6faa189b4c 100644 --- a/packages/flutter/lib/src/widgets/binding.dart +++ b/packages/flutter/lib/src/widgets/binding.dart @@ -561,7 +561,7 @@ class RenderObjectToWidgetElement extends RootRenderObje library: 'widgets library', context: 'attaching to the render tree' )); - Widget error = new ErrorWidget(exception); + final Widget error = new ErrorWidget(exception); _child = updateChild(null, error, _rootChildSlot); } } diff --git a/packages/flutter/lib/src/widgets/container.dart b/packages/flutter/lib/src/widgets/container.dart index 880bb16d81..95ef808c7d 100644 --- a/packages/flutter/lib/src/widgets/container.dart +++ b/packages/flutter/lib/src/widgets/container.dart @@ -160,7 +160,7 @@ class Container extends StatelessWidget { EdgeInsets get _paddingIncludingDecoration { if (decoration == null || decoration.padding == null) return padding; - EdgeInsets decorationPadding = decoration.padding; + final EdgeInsets decorationPadding = decoration.padding; if (padding == null) return decorationPadding; return padding + decorationPadding; @@ -181,7 +181,7 @@ class Container extends StatelessWidget { if (alignment != null) current = new Align(alignment: alignment, child: current); - EdgeInsets effectivePadding = _paddingIncludingDecoration; + final EdgeInsets effectivePadding = _paddingIncludingDecoration; if (effectivePadding != null) current = new Padding(padding: effectivePadding, child: current); diff --git a/packages/flutter/lib/src/widgets/debug.dart b/packages/flutter/lib/src/widgets/debug.dart index 8941a9b2bf..63d3a55301 100644 --- a/packages/flutter/lib/src/widgets/debug.dart +++ b/packages/flutter/lib/src/widgets/debug.dart @@ -61,7 +61,7 @@ bool debugProfileBuildsEnabled = false; bool debugHighlightDeprecatedWidgets = false; Key _firstNonUniqueKey(Iterable widgets) { - Set keySet = new HashSet(); + final Set keySet = new HashSet(); for (Widget widget in widgets) { assert(widget != null); if (widget.key == null) @@ -138,7 +138,7 @@ bool debugItemsHaveDuplicateKeys(Iterable items) { bool debugCheckHasTable(BuildContext context) { assert(() { if (context.widget is! Table && context.ancestorWidgetOfExactType(Table) == null) { - Element element = context; + final Element element = context; throw new FlutterError( 'No Table widget found.\n' '${context.widget.runtimeType} widgets require a Table widget ancestor.\n' diff --git a/packages/flutter/lib/src/widgets/dismissable.dart b/packages/flutter/lib/src/widgets/dismissable.dart index f2643f0cae..5ea0b091ab 100644 --- a/packages/flutter/lib/src/widgets/dismissable.dart +++ b/packages/flutter/lib/src/widgets/dismissable.dart @@ -402,7 +402,7 @@ class _DismissableState extends State with TickerProviderStateMixin ); if (background != null) { - List children = []; + final List children = []; if (!_moveAnimation.isDismissed) { children.add(new Positioned.fill( diff --git a/packages/flutter/lib/src/widgets/drag_target.dart b/packages/flutter/lib/src/widgets/drag_target.dart index 96d8adb972..713bdb3b03 100644 --- a/packages/flutter/lib/src/widgets/drag_target.dart +++ b/packages/flutter/lib/src/widgets/drag_target.dart @@ -235,7 +235,7 @@ class LongPressDraggable extends Draggable { DelayedMultiDragGestureRecognizer createRecognizer(GestureMultiDragStartCallback onStart) { return new DelayedMultiDragGestureRecognizer() ..onStart = (Point position) { - Drag result = onStart(position); + final Drag result = onStart(position); if (result != null) HapticFeedback.vibrate(); return result; @@ -486,15 +486,15 @@ class _DragAvatar extends Drag { void updateDrag(Point globalPosition) { _lastOffset = globalPosition - dragStartPoint; _entry.markNeedsBuild(); - HitTestResult result = new HitTestResult(); + final HitTestResult result = new HitTestResult(); WidgetsBinding.instance.hitTest(result, globalPosition + feedbackOffset); - List<_DragTargetState> targets = _getDragTargets(result.path).toList(); + final List<_DragTargetState> targets = _getDragTargets(result.path).toList(); bool listsMatch = false; if (targets.length >= _enteredTargets.length && _enteredTargets.isNotEmpty) { listsMatch = true; - Iterator<_DragTargetState> iterator = targets.iterator; + final Iterator<_DragTargetState> iterator = targets.iterator; for (int i = 0; i < _enteredTargets.length; i += 1) { iterator.moveNext(); if (iterator.current != _enteredTargets[i]) { @@ -512,7 +512,7 @@ class _DragAvatar extends Drag { _leaveAllEntered(); // Enter new targets. - _DragTargetState newTarget = targets.firstWhere((_DragTargetState target) { + final _DragTargetState newTarget = targets.firstWhere((_DragTargetState target) { _enteredTargets.add(target); return target.didEnter(this); }, @@ -527,7 +527,7 @@ class _DragAvatar extends Drag { // widgets build RenderMetaData boxes for us for this purpose). for (HitTestEntry entry in path) { if (entry.target is RenderMetaData) { - RenderMetaData renderMetaData = entry.target; + final RenderMetaData renderMetaData = entry.target; if (renderMetaData.metaData is _DragTargetState) yield renderMetaData.metaData; } @@ -557,8 +557,8 @@ class _DragAvatar extends Drag { } Widget _build(BuildContext context) { - RenderBox box = overlayState.context.findRenderObject(); - Point overlayTopLeft = box.localToGlobal(Point.origin); + final RenderBox box = overlayState.context.findRenderObject(); + final Point overlayTopLeft = box.localToGlobal(Point.origin); return new Positioned( left: _lastOffset.dx - overlayTopLeft.x, top: _lastOffset.dy - overlayTopLeft.y, diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart index 96a1ca8fb6..64a7740b17 100644 --- a/packages/flutter/lib/src/widgets/editable_text.dart +++ b/packages/flutter/lib/src/widgets/editable_text.dart @@ -92,7 +92,7 @@ class InputValue { return true; if (other is! InputValue) return false; - InputValue typedOther = other; + final InputValue typedOther = other; return typedOther.text == text && typedOther.selection == selection && typedOther.composing == composing; @@ -406,7 +406,7 @@ class EditableTextState extends State implements TextInputClient { @override Widget build(BuildContext context) { - bool focused = Focus.at(config.focusKey.currentContext); + final bool focused = Focus.at(config.focusKey.currentContext); _attachOrDetachKeyboard(focused); if (_cursorTimer == null && focused && config.value.selection.isCollapsed) @@ -502,7 +502,7 @@ class _Editable extends LeafRenderObjectWidget { TextSpan get _styledTextSpan { if (!obscureText && value.composing.isValid) { - TextStyle composingStyle = style.merge( + final TextStyle composingStyle = style.merge( const TextStyle(decoration: TextDecoration.underline) ); diff --git a/packages/flutter/lib/src/widgets/focus.dart b/packages/flutter/lib/src/widgets/focus.dart index afe8f22883..f71ea84760 100644 --- a/packages/flutter/lib/src/widgets/focus.dart +++ b/packages/flutter/lib/src/widgets/focus.dart @@ -143,7 +143,7 @@ class Focus extends StatefulWidget { assert(context.widget != null); assert(context.widget.key != null); assert(context.widget.key is GlobalKey); - _FocusScope focusScope = context.inheritFromWidgetOfExactType(_FocusScope); + final _FocusScope focusScope = context.inheritFromWidgetOfExactType(_FocusScope); if (focusScope != null) { if (autofocus) focusScope._setFocusedWidgetIfUnset(context.widget.key); @@ -173,7 +173,7 @@ class Focus extends StatefulWidget { assert(context.widget != null); assert(context.widget is Focus); assert(context.widget.key != null); - _FocusScope focusScope = context.inheritFromWidgetOfExactType(_FocusScope); + final _FocusScope focusScope = context.inheritFromWidgetOfExactType(_FocusScope); if (focusScope != null) { return focusScope.scopeFocused && focusScope.focusedScope == context.widget.key; @@ -187,9 +187,9 @@ class Focus extends StatefulWidget { /// Don't call moveTo() from your build() functions, it's intended to be /// called from event listeners, e.g. in response to a finger tap or tab key. static void moveTo(GlobalKey key) { - BuildContext focusedContext = key.currentContext; + final BuildContext focusedContext = key.currentContext; assert(focusedContext != null); - _FocusScope focusScope = key.currentContext.ancestorWidgetOfExactType(_FocusScope); + final _FocusScope focusScope = key.currentContext.ancestorWidgetOfExactType(_FocusScope); if (focusScope != null) { focusScope.focusState._setFocusedWidget(key); Scrollable.ensureVisible(focusedContext); @@ -199,7 +199,7 @@ class Focus extends StatefulWidget { /// Unfocuses the currently focused widget (if any) in the Focus that most /// tightly encloses the given context. static void clear(BuildContext context) { - _FocusScope focusScope = context.ancestorWidgetOfExactType(_FocusScope); + final _FocusScope focusScope = context.ancestorWidgetOfExactType(_FocusScope); if (focusScope != null) focusScope.focusState._clearFocusedWidget(); } @@ -210,7 +210,7 @@ class Focus extends StatefulWidget { /// called from event listeners, e.g. in response to a finger tap or tab key. static void moveScopeTo(GlobalKey key, { BuildContext context }) { _FocusScope focusScope; - BuildContext searchContext = key.currentContext; + final BuildContext searchContext = key.currentContext; if (searchContext != null) { assert(key.currentWidget is Focus); focusScope = searchContext.ancestorWidgetOfExactType(_FocusScope); @@ -253,7 +253,7 @@ class _FocusState extends State { assert(() { if (!mounted) return true; - Widget widget = config.initiallyFocusedScope.currentWidget; + final Widget widget = config.initiallyFocusedScope.currentWidget; if (widget == null) { throw new FlutterError( 'The initially focused scope is not in the tree.\n' @@ -356,7 +356,7 @@ class _FocusState extends State { void _ensureVisibleIfFocused() { if (!Focus._atScope(context)) return; - BuildContext focusedContext = _focusedWidget?.currentContext; + final BuildContext focusedContext = _focusedWidget?.currentContext; if (focusedContext == null) return; Scrollable.ensureVisible(focusedContext); @@ -364,9 +364,9 @@ class _FocusState extends State { @override Widget build(BuildContext context) { - MediaQueryData data = MediaQuery.of(context); - Size newMediaSize = data.size; - EdgeInsets newMediaPadding = data.padding; + final MediaQueryData data = MediaQuery.of(context); + final Size newMediaSize = data.size; + final EdgeInsets newMediaPadding = data.padding; if (newMediaSize != _mediaSize || newMediaPadding != _mediaPadding) { _mediaSize = newMediaSize; _mediaPadding = newMediaPadding; diff --git a/packages/flutter/lib/src/widgets/form.dart b/packages/flutter/lib/src/widgets/form.dart index cb0fbe3950..c207541bc9 100644 --- a/packages/flutter/lib/src/widgets/form.dart +++ b/packages/flutter/lib/src/widgets/form.dart @@ -39,7 +39,7 @@ class Form extends StatefulWidget { /// form.save(); /// ``` static FormState of(BuildContext context) { - _FormScope scope = context.inheritFromWidgetOfExactType(_FormScope); + final _FormScope scope = context.inheritFromWidgetOfExactType(_FormScope); return scope?._formState; } diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index d16098c870..a0e021ea51 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -219,10 +219,10 @@ abstract class GlobalKey> extends Key { /// matches this global key, (2) that widget is not a [StatefulWidget], or the /// assoicated [State] object is not a subtype of `T`. T get currentState { - Element element = _currentElement; + final Element element = _currentElement; if (element is StatefulElement) { - StatefulElement statefulElement = element; - State state = statefulElement.state; + final StatefulElement statefulElement = element; + final State state = statefulElement.state; if (state is T) return state; } @@ -235,9 +235,9 @@ abstract class GlobalKey> extends Key { /// Listeners can be removed with [unregisterRemoveListener]. static void registerRemoveListener(GlobalKey key, GlobalKeyRemoveListener listener) { assert(key != null); - Set listeners = + final Set listeners = _removeListeners.putIfAbsent(key, () => new HashSet()); - bool added = listeners.add(listener); + final bool added = listeners.add(listener); assert(added); } @@ -249,7 +249,7 @@ abstract class GlobalKey> extends Key { assert(key != null); assert(_removeListeners.containsKey(key)); assert(_removeListeners[key].contains(listener)); - bool removed = _removeListeners[key].remove(listener); + final bool removed = _removeListeners[key].remove(listener); if (_removeListeners[key].isEmpty) _removeListeners.remove(key); assert(removed); @@ -276,7 +276,7 @@ abstract class GlobalKey> extends Key { try { for (GlobalKey key in _removedKeys) { if (!_registry.containsKey(key) && _removeListeners.containsKey(key)) { - Set localListeners = new HashSet.from(_removeListeners[key]); + final Set localListeners = new HashSet.from(_removeListeners[key]); for (GlobalKeyRemoveListener listener in localListeners) { try { listener(key); @@ -310,7 +310,7 @@ class LabeledGlobalKey> extends GlobalKey { @override String toString() { - String tag = _debugLabel != null ? ' $_debugLabel' : '#$hashCode'; + final String tag = _debugLabel != null ? ' $_debugLabel' : '#$hashCode'; if (this.runtimeType == LabeledGlobalKey) return '[GlobalKey$tag]'; return '[$runtimeType$tag]'; @@ -914,7 +914,7 @@ abstract class State { } return true; }); - dynamic result = fn() as dynamic; + final dynamic result = fn() as dynamic; assert(() { if (result is Future) { throw new FlutterError( @@ -2183,7 +2183,7 @@ abstract class Element implements BuildContext { } void _updateDepth(int parentDepth) { - int expectedDepth = parentDepth + 1; + final int expectedDepth = parentDepth + 1; if (_depth < expectedDepth) { _depth = expectedDepth; visitChildren((Element child) { @@ -2222,7 +2222,7 @@ abstract class Element implements BuildContext { } Element _retakeInactiveElement(GlobalKey key, Widget newWidget) { - Element element = key._currentElement; + final Element element = key._currentElement; if (element == null) return null; if (!Widget.canUpdate(element.widget, newWidget)) @@ -2259,19 +2259,19 @@ abstract class Element implements BuildContext { @protected Element inflateWidget(Widget newWidget, dynamic newSlot) { assert(newWidget != null); - Key key = newWidget.key; + final Key key = newWidget.key; if (key is GlobalKey) { - Element newChild = _retakeInactiveElement(key, newWidget); + final Element newChild = _retakeInactiveElement(key, newWidget); if (newChild != null) { assert(newChild._parent == null); assert(() { _debugCheckForCycles(newChild); return true; }); newChild._activateWithParent(this, newSlot); - Element updatedChild = updateChild(newChild, newWidget, newSlot); + final Element updatedChild = updateChild(newChild, newWidget, newSlot); assert(newChild == updatedChild); return updatedChild; } } - Element newChild = newWidget.createElement(); + final Element newChild = newWidget.createElement(); assert(() { _debugCheckForCycles(newChild); return true; }); newChild.mount(this, newSlot); assert(newChild._debugLifecycleState == _ElementLifecycle.active); @@ -2528,7 +2528,7 @@ abstract class Element implements BuildContext { @override InheritedWidget inheritFromWidgetOfExactType(Type targetType) { - InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; + final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; if (ancestor != null) { assert(ancestor is InheritedElement); _dependencies ??= new HashSet(); @@ -2542,7 +2542,7 @@ abstract class Element implements BuildContext { @override InheritedElement ancestorInheritedElementForWidgetOfExactType(Type targetType) { - InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; + final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; return ancestor; } @@ -2567,7 +2567,7 @@ abstract class Element implements BuildContext { break; ancestor = ancestor._parent; } - StatefulElement statefulAncestor = ancestor; + final StatefulElement statefulAncestor = ancestor; return statefulAncestor?.state; } @@ -2579,7 +2579,7 @@ abstract class Element implements BuildContext { break; ancestor = ancestor._parent; } - RenderObjectElement renderObjectAncestor = ancestor; + final RenderObjectElement renderObjectAncestor = ancestor; return renderObjectAncestor?.renderObject; } @@ -2605,7 +2605,7 @@ abstract class Element implements BuildContext { /// /// Useful for debugging the source of an element. String debugGetCreatorChain(int limit) { - List chain = []; + final List chain = []; Element node = this; while (chain.length < limit && node != null) { chain.add(node.toStringShort()); @@ -2655,10 +2655,10 @@ abstract class Element implements BuildContext { /// A detailed, textual description of this element, includings its children. String toStringDeep([String prefixLineOne = '', String prefixOtherLines = '']) { String result = '$prefixLineOne$this\n'; - List children = []; + final List children = []; visitChildren(children.add); if (children.isNotEmpty) { - Element last = children.removeLast(); + final Element last = children.removeLast(); for (Element child in children) result += '${child.toStringDeep("$prefixOtherLines\u251C", "$prefixOtherLines\u2502")}'; result += '${last.toStringDeep("$prefixOtherLines\u2514", "$prefixOtherLines ")}'; @@ -3029,7 +3029,7 @@ class StatefulElement extends ComponentElement { void update(StatefulWidget newWidget) { super.update(newWidget); assert(widget == newWidget); - StatefulWidget oldConfig = _state._config; + final StatefulWidget oldConfig = _state._config; // Notice that we mark ourselves as dirty before calling didUpdateConfig to // let authors call setState from within didUpdateConfig without triggering // asserts. @@ -3145,7 +3145,7 @@ abstract class ProxyElement extends ComponentElement { @override void update(ProxyWidget newWidget) { - ProxyWidget oldWidget = widget; + final ProxyWidget oldWidget = widget; assert(widget != null); assert(widget != newWidget); super.update(newWidget); @@ -3174,7 +3174,7 @@ class ParentDataElement extends ProxyElement { @override void mount(Element parent, dynamic slot) { assert(() { - List badAncestors = []; + final List badAncestors = []; Element ancestor = parent; while (ancestor != null) { if (ancestor is ParentDataElement) { @@ -3566,19 +3566,19 @@ abstract class RenderObjectElement extends BuildableElement { int newChildrenBottom = newWidgets.length - 1; int oldChildrenBottom = oldChildren.length - 1; - List newChildren = oldChildren.length == newWidgets.length ? + final List newChildren = oldChildren.length == newWidgets.length ? oldChildren : new List(newWidgets.length); Element previousChild; // Update the top of the list. while ((oldChildrenTop <= oldChildrenBottom) && (newChildrenTop <= newChildrenBottom)) { - Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenTop]); - Widget newWidget = newWidgets[newChildrenTop]; + final Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenTop]); + final Widget newWidget = newWidgets[newChildrenTop]; assert(oldChild == null || oldChild._debugLifecycleState == _ElementLifecycle.active); if (oldChild == null || !Widget.canUpdate(oldChild.widget, newWidget)) break; - Element newChild = updateChild(oldChild, newWidget, previousChild); + final Element newChild = updateChild(oldChild, newWidget, previousChild); assert(newChild._debugLifecycleState == _ElementLifecycle.active); newChildren[newChildrenTop] = newChild; previousChild = newChild; @@ -3588,8 +3588,8 @@ abstract class RenderObjectElement extends BuildableElement { // Scan the bottom of the list. while ((oldChildrenTop <= oldChildrenBottom) && (newChildrenTop <= newChildrenBottom)) { - Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenBottom]); - Widget newWidget = newWidgets[newChildrenBottom]; + final Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenBottom]); + final Widget newWidget = newWidgets[newChildrenBottom]; assert(oldChild == null || oldChild._debugLifecycleState == _ElementLifecycle.active); if (oldChild == null || !Widget.canUpdate(oldChild.widget, newWidget)) break; @@ -3598,12 +3598,12 @@ abstract class RenderObjectElement extends BuildableElement { } // Scan the old children in the middle of the list. - bool haveOldChildren = oldChildrenTop <= oldChildrenBottom; + final bool haveOldChildren = oldChildrenTop <= oldChildrenBottom; Map oldKeyedChildren; if (haveOldChildren) { oldKeyedChildren = new Map(); while (oldChildrenTop <= oldChildrenBottom) { - Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenTop]); + final Element oldChild = replaceWithNullIfForgotten(oldChildren[oldChildrenTop]); assert(oldChild == null || oldChild._debugLifecycleState == _ElementLifecycle.active); if (oldChild != null) { if (oldChild.widget.key != null) @@ -3618,9 +3618,9 @@ abstract class RenderObjectElement extends BuildableElement { // Update the middle of the list. while (newChildrenTop <= newChildrenBottom) { Element oldChild; - Widget newWidget = newWidgets[newChildrenTop]; + final Widget newWidget = newWidgets[newChildrenTop]; if (haveOldChildren) { - Key key = newWidget.key; + final Key key = newWidget.key; if (key != null) { oldChild = oldKeyedChildren[newWidget.key]; if (oldChild != null) { @@ -3636,7 +3636,7 @@ abstract class RenderObjectElement extends BuildableElement { } } assert(oldChild == null || Widget.canUpdate(oldChild.widget, newWidget)); - Element newChild = updateChild(oldChild, newWidget, previousChild); + final Element newChild = updateChild(oldChild, newWidget, previousChild); assert(newChild._debugLifecycleState == _ElementLifecycle.active); assert(oldChild == newChild || oldChild == null || oldChild._debugLifecycleState != _ElementLifecycle.active); newChildren[newChildrenTop] = newChild; @@ -3653,12 +3653,12 @@ abstract class RenderObjectElement extends BuildableElement { // Update the bottom of the list. while ((oldChildrenTop <= oldChildrenBottom) && (newChildrenTop <= newChildrenBottom)) { - Element oldChild = oldChildren[oldChildrenTop]; + final Element oldChild = oldChildren[oldChildrenTop]; assert(replaceWithNullIfForgotten(oldChild) != null); assert(oldChild._debugLifecycleState == _ElementLifecycle.active); - Widget newWidget = newWidgets[newChildrenTop]; + final Widget newWidget = newWidgets[newChildrenTop]; assert(Widget.canUpdate(oldChild.widget, newWidget)); - Element newChild = updateChild(oldChild, newWidget, previousChild); + final Element newChild = updateChild(oldChild, newWidget, previousChild); assert(newChild._debugLifecycleState == _ElementLifecycle.active); assert(oldChild == newChild || oldChild == null || oldChild._debugLifecycleState != _ElementLifecycle.active); newChildren[newChildrenTop] = newChild; @@ -3709,7 +3709,7 @@ abstract class RenderObjectElement extends BuildableElement { _slot = newSlot; _ancestorRenderObjectElement = _findAncestorRenderObjectElement(); _ancestorRenderObjectElement?.insertChildRenderObject(renderObject, newSlot); - ParentDataElement parentDataElement = _findAncestorParentDataElement(); + final ParentDataElement parentDataElement = _findAncestorParentDataElement(); if (parentDataElement != null) _updateParentData(parentDataElement.widget); } diff --git a/packages/flutter/lib/src/widgets/gesture_detector.dart b/packages/flutter/lib/src/widgets/gesture_detector.dart index 51bbe594a5..1a22d5603f 100644 --- a/packages/flutter/lib/src/widgets/gesture_detector.dart +++ b/packages/flutter/lib/src/widgets/gesture_detector.dart @@ -97,10 +97,10 @@ class GestureDetector extends StatelessWidget { }) : super(key: key) { assert(excludeFromSemantics != null); assert(() { - bool haveVerticalDrag = onVerticalDragStart != null || onVerticalDragUpdate != null || onVerticalDragEnd != null; - bool haveHorizontalDrag = onHorizontalDragStart != null || onHorizontalDragUpdate != null || onHorizontalDragEnd != null; - bool havePan = onPanStart != null || onPanUpdate != null || onPanEnd != null; - bool haveScale = onScaleStart != null || onScaleUpdate != null || onScaleEnd != null; + final bool haveVerticalDrag = onVerticalDragStart != null || onVerticalDragUpdate != null || onVerticalDragEnd != null; + final bool haveHorizontalDrag = onHorizontalDragStart != null || onHorizontalDragUpdate != null || onHorizontalDragEnd != null; + final bool havePan = onPanStart != null || onPanUpdate != null || onPanEnd != null; + final bool haveScale = onScaleStart != null || onScaleUpdate != null || onScaleEnd != null; if (havePan || haveScale) { if (havePan && haveScale) { throw new FlutterError( @@ -108,7 +108,7 @@ class GestureDetector extends StatelessWidget { 'Having both a pan gesture recognizer and a scale gesture recognizer is redundant; scale is a superset of pan. Just use the scale gesture recognizer.' ); } - String recognizer = havePan ? 'pan' : 'scale'; + final String recognizer = havePan ? 'pan' : 'scale'; if (haveVerticalDrag && haveHorizontalDrag) { throw new FlutterError( 'Incorrect GestureDetector arguments.\n' @@ -225,7 +225,7 @@ class GestureDetector extends StatelessWidget { @override Widget build(BuildContext context) { - Map gestures = {}; + final Map gestures = {}; if (onTapDown != null || onTapUp != null || onTap != null || onTapCancel != null) { gestures[TapGestureRecognizer] = (TapGestureRecognizer recognizer) { // ignore: invalid_assignment, https://github.com/flutter/flutter/issues/5771 @@ -395,9 +395,9 @@ class RawGestureDetectorState extends State { }); _syncAll(gestures); if (!config.excludeFromSemantics) { - RenderSemanticsGestureHandler semanticsGestureHandler = context.findRenderObject(); + final RenderSemanticsGestureHandler semanticsGestureHandler = context.findRenderObject(); context.visitChildElements((Element element) { - _GestureSemantics widget = element.widget; + final _GestureSemantics widget = element.widget; widget._updateHandlers(semanticsGestureHandler, _recognizers); }); } @@ -413,7 +413,7 @@ class RawGestureDetectorState extends State { void _syncAll(Map gestures) { assert(_recognizers != null); - Map oldRecognizers = _recognizers; + final Map oldRecognizers = _recognizers; _recognizers = {}; for (Type type in gestures.keys) { assert(!_recognizers.containsKey(type)); @@ -454,7 +454,7 @@ class RawGestureDetectorState extends State { if (_recognizers == null) { description.add('DISPOSED'); } else { - List gestures = _recognizers.values.map((GestureRecognizer recognizer) => recognizer.toStringShort()).toList(); + final List gestures = _recognizers.values.map((GestureRecognizer recognizer) => recognizer.toStringShort()).toList(); if (gestures.isEmpty) gestures.add(''); description.add('gestures: ${gestures.join(", ")}'); @@ -483,7 +483,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { final RawGestureDetectorState owner; void _handleTap() { - TapGestureRecognizer recognizer = owner._recognizers[TapGestureRecognizer]; + final TapGestureRecognizer recognizer = owner._recognizers[TapGestureRecognizer]; assert(recognizer != null); if (recognizer.onTapDown != null) recognizer.onTapDown(new TapDownDetails()); @@ -494,7 +494,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { } void _handleLongPress() { - LongPressGestureRecognizer recognizer = owner._recognizers[LongPressGestureRecognizer]; + final LongPressGestureRecognizer recognizer = owner._recognizers[LongPressGestureRecognizer]; assert(recognizer != null); if (recognizer.onLongPress != null) recognizer.onLongPress(); @@ -502,7 +502,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { void _handleHorizontalDragUpdate(DragUpdateDetails updateDetails) { { - HorizontalDragGestureRecognizer recognizer = owner._recognizers[HorizontalDragGestureRecognizer]; + final HorizontalDragGestureRecognizer recognizer = owner._recognizers[HorizontalDragGestureRecognizer]; if (recognizer != null) { if (recognizer.onStart != null) recognizer.onStart(new DragStartDetails()); @@ -514,7 +514,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { } } { - PanGestureRecognizer recognizer = owner._recognizers[PanGestureRecognizer]; + final PanGestureRecognizer recognizer = owner._recognizers[PanGestureRecognizer]; if (recognizer != null) { if (recognizer.onStart != null) recognizer.onStart(new DragStartDetails()); @@ -529,7 +529,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { void _handleVerticalDragUpdate(DragUpdateDetails updateDetails) { { - VerticalDragGestureRecognizer recognizer = owner._recognizers[VerticalDragGestureRecognizer]; + final VerticalDragGestureRecognizer recognizer = owner._recognizers[VerticalDragGestureRecognizer]; if (recognizer != null) { if (recognizer.onStart != null) recognizer.onStart(new DragStartDetails()); @@ -541,7 +541,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { } } { - PanGestureRecognizer recognizer = owner._recognizers[PanGestureRecognizer]; + final PanGestureRecognizer recognizer = owner._recognizers[PanGestureRecognizer]; if (recognizer != null) { if (recognizer.onStart != null) recognizer.onStart(new DragStartDetails()); @@ -556,7 +556,7 @@ class _GestureSemantics extends SingleChildRenderObjectWidget { @override RenderSemanticsGestureHandler createRenderObject(BuildContext context) { - RenderSemanticsGestureHandler result = new RenderSemanticsGestureHandler(); + final RenderSemanticsGestureHandler result = new RenderSemanticsGestureHandler(); updateRenderObject(context, result); return result; } diff --git a/packages/flutter/lib/src/widgets/gridpaper.dart b/packages/flutter/lib/src/widgets/gridpaper.dart index 96e0f67c9e..2a106c3409 100644 --- a/packages/flutter/lib/src/widgets/gridpaper.dart +++ b/packages/flutter/lib/src/widgets/gridpaper.dart @@ -22,9 +22,9 @@ class _GridPaperPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - Paint linePaint = new Paint() + final Paint linePaint = new Paint() ..color = color; - double allDivisions = (divisions * subDivisions).toDouble(); + final double allDivisions = (divisions * subDivisions).toDouble(); for (double x = 0.0; x <= size.width; x += interval / allDivisions) { linePaint.strokeWidth = (x % interval == 0.0) ? 1.0 : (x % (interval / subDivisions) == 0.0) ? 0.5: 0.25; canvas.drawLine(new Point(x, 0.0), new Point(x, size.height), linePaint); diff --git a/packages/flutter/lib/src/widgets/heroes.dart b/packages/flutter/lib/src/widgets/heroes.dart index d564eed633..93b0fc9d52 100644 --- a/packages/flutter/lib/src/widgets/heroes.dart +++ b/packages/flutter/lib/src/widgets/heroes.dart @@ -121,7 +121,7 @@ class Hero extends StatefulWidget { } return true; }); - _HeroState heroState = hero.state; + final _HeroState heroState = hero.state; result[tag] = heroState; } element.visitChildren(visitor); diff --git a/packages/flutter/lib/src/widgets/implicit_animations.dart b/packages/flutter/lib/src/widgets/implicit_animations.dart index 8a7a9eb8be..890238c26a 100644 --- a/packages/flutter/lib/src/widgets/implicit_animations.dart +++ b/packages/flutter/lib/src/widgets/implicit_animations.dart @@ -57,9 +57,9 @@ class Matrix4Tween extends Tween { Matrix4 lerp(double t) { // TODO(abarth): We should use [Matrix4.decompose] and animate the // decomposed parameters instead of just animating the translation. - Vector3 beginT = begin.getTranslation(); - Vector3 endT = end.getTranslation(); - Vector3 lerpT = beginT*(1.0-t) + endT*t; + final Vector3 beginT = begin.getTranslation(); + final Vector3 endT = end.getTranslation(); + final Vector3 lerpT = beginT*(1.0-t) + endT*t; return new Matrix4.identity()..translate(lerpT); } } diff --git a/packages/flutter/lib/src/widgets/locale_query.dart b/packages/flutter/lib/src/widgets/locale_query.dart index 746ee40ab8..9c0359fc65 100644 --- a/packages/flutter/lib/src/widgets/locale_query.dart +++ b/packages/flutter/lib/src/widgets/locale_query.dart @@ -31,7 +31,7 @@ class LocaleQuery extends InheritedWidget { /// MyLocaleData data = LocaleQueryData.of(context); /// ``` static LocaleQueryData of(BuildContext context) { - LocaleQuery query = context.inheritFromWidgetOfExactType(LocaleQuery); + final LocaleQuery query = context.inheritFromWidgetOfExactType(LocaleQuery); return query?.data; } diff --git a/packages/flutter/lib/src/widgets/media_query.dart b/packages/flutter/lib/src/widgets/media_query.dart index 4f82b9e012..369414ea53 100644 --- a/packages/flutter/lib/src/widgets/media_query.dart +++ b/packages/flutter/lib/src/widgets/media_query.dart @@ -90,7 +90,7 @@ class MediaQueryData { bool operator ==(Object other) { if (other.runtimeType != runtimeType) return false; - MediaQueryData typedOther = other; + final MediaQueryData typedOther = other; return typedOther.size == size && typedOther.devicePixelRatio == devicePixelRatio && typedOther.textScaleFactor == textScaleFactor @@ -145,7 +145,7 @@ class MediaQuery extends InheritedWidget { /// MediaQueryData media = MediaQuery.of(context); /// ``` static MediaQueryData of(BuildContext context) { - MediaQuery query = context.inheritFromWidgetOfExactType(MediaQuery); + final MediaQuery query = context.inheritFromWidgetOfExactType(MediaQuery); return query?.data ?? new MediaQueryData.fromWindow(ui.window); } diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart index a7959f3855..76a8de87c9 100644 --- a/packages/flutter/lib/src/widgets/navigator.dart +++ b/packages/flutter/lib/src/widgets/navigator.dart @@ -603,7 +603,7 @@ class Navigator extends StatefulWidget { /// this function returns true only if popping the navigator would not remove /// the initial route. static bool canPop(BuildContext context) { - NavigatorState navigator = context.ancestorStateOfType(const TypeMatcher()); + final NavigatorState navigator = context.ancestorStateOfType(const TypeMatcher()); return navigator != null && navigator.canPop(); } @@ -626,7 +626,7 @@ class Navigator extends StatefulWidget { /// Navigator.popAndPushNamed(context, '/nyc/1776'); /// ``` static Future popAndPushNamed(BuildContext context, String routeName, { dynamic result }) { - NavigatorState navigator = Navigator.of(context); + final NavigatorState navigator = Navigator.of(context); navigator.pop(result); return navigator.pushNamed(routeName); } @@ -677,7 +677,7 @@ class Navigator extends StatefulWidget { /// ..pushNamed('/settings'); /// ``` static NavigatorState of(BuildContext context) { - NavigatorState navigator = context.ancestorStateOfType(const TypeMatcher()); + final NavigatorState navigator = context.ancestorStateOfType(const TypeMatcher()); assert(() { if (navigator == null) { throw new FlutterError( @@ -801,7 +801,7 @@ class NavigatorState extends State with TickerProviderStateMixin { assert(route != null); assert(route._navigator == null); setState(() { - Route oldRoute = _history.isNotEmpty ? _history.last : null; + final Route oldRoute = _history.isNotEmpty ? _history.last : null; route._navigator = this; route.install(_currentOverlayEntry); _history.add(route); @@ -876,7 +876,7 @@ class NavigatorState extends State with TickerProviderStateMixin { assert(newRoute._navigator == null); assert(newRoute.overlayEntries.isEmpty); setState(() { - int index = _history.length - 1; + final int index = _history.length - 1; assert(index >= 0); assert(_history.indexOf(oldRoute) == index); newRoute._navigator = this; @@ -938,15 +938,15 @@ class NavigatorState extends State with TickerProviderStateMixin { assert(!_debugLocked); assert(() { _debugLocked = true; return true; }); assert(anchorRoute._navigator == this); - int index = _history.indexOf(anchorRoute) - 1; + final int index = _history.indexOf(anchorRoute) - 1; assert(index >= 0); - Route targetRoute = _history[index]; + final Route targetRoute = _history[index]; assert(targetRoute._navigator == this); assert(targetRoute.overlayEntries.isEmpty || !overlay.debugIsVisible(targetRoute.overlayEntries.last)); setState(() { _history.removeAt(index); - Route nextRoute = index < _history.length ? _history[index] : null; - Route previousRoute = index > 0 ? _history[index - 1] : null; + final Route nextRoute = index < _history.length ? _history[index] : null; + final Route previousRoute = index > 0 ? _history[index - 1] : null; if (previousRoute != null) previousRoute.didChangeNext(nextRoute); if (nextRoute != null) @@ -993,7 +993,7 @@ class NavigatorState extends State with TickerProviderStateMixin { bool pop([dynamic result]) { assert(!_debugLocked); assert(() { _debugLocked = true; return true; }); - Route route = _history.last; + final Route route = _history.last; assert(route._navigator == this); bool debugPredictedWouldPop; assert(() { debugPredictedWouldPop = !route.willHandlePopInternally; return true; }); @@ -1104,7 +1104,7 @@ class NavigatorState extends State with TickerProviderStateMixin { void _cancelActivePointers() { // TODO(abarth): This mechanism is far from perfect. See https://github.com/flutter/flutter/issues/4770 - RenderAbsorbPointer absorber = _overlayKey.currentContext?.ancestorRenderObjectOfType(const TypeMatcher()); + final RenderAbsorbPointer absorber = _overlayKey.currentContext?.ancestorRenderObjectOfType(const TypeMatcher()); setState(() { absorber?.absorbing = true; }); diff --git a/packages/flutter/lib/src/widgets/notification_listener.dart b/packages/flutter/lib/src/widgets/notification_listener.dart index 50cbe32644..9f375b2870 100644 --- a/packages/flutter/lib/src/widgets/notification_listener.dart +++ b/packages/flutter/lib/src/widgets/notification_listener.dart @@ -28,7 +28,7 @@ abstract class Notification { @mustCallSuper bool visitAncestor(Element element) { if (element is StatelessElement) { - StatelessWidget widget = element.widget; + final StatelessWidget widget = element.widget; if (widget is NotificationListener) { if (widget._dispatch(this, element)) // that function checks the type dynamically return false; @@ -47,7 +47,7 @@ abstract class Notification { @override String toString() { - List description = []; + final List description = []; debugFillDescription(description); return '$runtimeType(${description.join(", ")})'; } @@ -92,7 +92,7 @@ class NotificationListener extends StatelessWidget { bool _dispatch(Notification notification, Element element) { if (onNotification != null && notification is T) { - bool result = onNotification(notification); + final bool result = onNotification(notification); assert(() { if (result == null) throw new FlutterError( diff --git a/packages/flutter/lib/src/widgets/overlay.dart b/packages/flutter/lib/src/widgets/overlay.dart index 9ff1babc39..9d5f4a57ce 100644 --- a/packages/flutter/lib/src/widgets/overlay.dart +++ b/packages/flutter/lib/src/widgets/overlay.dart @@ -131,7 +131,7 @@ class OverlayEntry { /// the next frame (i.e. many milliseconds later). void remove() { assert(_overlay != null); - OverlayState overlay = _overlay; + final OverlayState overlay = _overlay; _overlay = null; if (SchedulerBinding.instance.schedulerPhase == SchedulerPhase.persistentCallbacks) { SchedulerBinding.instance.addPostFrameCallback((Duration duration) { @@ -237,10 +237,10 @@ class Overlay extends StatefulWidget { /// OverlayState overlay = Overlay.of(context); /// ``` static OverlayState of(BuildContext context, { Widget debugRequiredFor }) { - OverlayState result = context.ancestorStateOfType(const TypeMatcher()); + final OverlayState result = context.ancestorStateOfType(const TypeMatcher()); assert(() { if (debugRequiredFor != null && result == null) { - String additional = context.widget != debugRequiredFor + final String additional = context.widget != debugRequiredFor ? '\nThe context from which that widget was searching for an overlay was:\n $context' : ''; throw new FlutterError( @@ -283,7 +283,7 @@ class OverlayState extends State with TickerProviderStateMixin { assert(above == null || (above._overlay == this && _entries.contains(above))); entry._overlay = this; setState(() { - int index = above == null ? _entries.length : _entries.indexOf(above) + 1; + final int index = above == null ? _entries.length : _entries.indexOf(above) + 1; _entries.insert(index, entry); }); } @@ -301,7 +301,7 @@ class OverlayState extends State with TickerProviderStateMixin { entry._overlay = this; } setState(() { - int index = above == null ? _entries.length : _entries.indexOf(above) + 1; + final int index = above == null ? _entries.length : _entries.indexOf(above) + 1; _entries.insertAll(index, entries); }); } @@ -324,7 +324,7 @@ class OverlayState extends State with TickerProviderStateMixin { assert(_entries.contains(entry)); assert(() { for (int i = _entries.length - 1; i > 0; i -= 1) { - OverlayEntry candidate = _entries[i]; + final OverlayEntry candidate = _entries[i]; if (candidate == entry) { result = true; break; @@ -353,7 +353,7 @@ class OverlayState extends State with TickerProviderStateMixin { final List offstageChildren = []; bool onstage = true; for (int i = _entries.length - 1; i >= 0; i -= 1) { - OverlayEntry entry = _entries[i]; + final OverlayEntry entry = _entries[i]; if (onstage) { onstageChildren.add(new _OverlayEntry(entry)); if (entry.opaque) @@ -585,4 +585,4 @@ class _RenderTheatre extends RenderBox if (child != null) visitor(child); } -} \ No newline at end of file +} diff --git a/packages/flutter/lib/src/widgets/overscroll_indicator.dart b/packages/flutter/lib/src/widgets/overscroll_indicator.dart index a3f67a1f29..601c702218 100644 --- a/packages/flutter/lib/src/widgets/overscroll_indicator.dart +++ b/packages/flutter/lib/src/widgets/overscroll_indicator.dart @@ -122,9 +122,9 @@ class _GlowingOverscrollIndicatorState extends State } else { assert(false); } - bool isLeading = controller == _leadingController; + final bool isLeading = controller == _leadingController; if (_lastNotificationType != OverscrollNotification) { - OverscrollIndicatorNotification confirmationNotification = new OverscrollIndicatorNotification(leading: isLeading); + final OverscrollIndicatorNotification confirmationNotification = new OverscrollIndicatorNotification(leading: isLeading); confirmationNotification.dispatch(context); _accepted[isLeading] = confirmationNotification._accepted; } @@ -209,7 +209,7 @@ class _GlowController extends ChangeNotifier { assert(axis != null); _glowController = new AnimationController(vsync: vsync) ..addStatusListener(_changePhase); - Animation decelerator = new CurvedAnimation( + final Animation decelerator = new CurvedAnimation( parent: _glowController, curve: Curves.decelerate, )..addListener(notifyListeners); @@ -380,7 +380,7 @@ class _GlowController extends ChangeNotifier { void _tickDisplacement(Duration elapsed) { if (_displacementTickerLastElapsed != null) { - double t = (elapsed.inMicroseconds - _displacementTickerLastElapsed.inMicroseconds).toDouble(); + final double t = (elapsed.inMicroseconds - _displacementTickerLastElapsed.inMicroseconds).toDouble(); _displacement = _displacementTarget - (_displacementTarget - _displacement) * math.pow(2.0, -t / _crossAxisHalfTime.inMicroseconds); notifyListeners(); } diff --git a/packages/flutter/lib/src/widgets/page_storage.dart b/packages/flutter/lib/src/widgets/page_storage.dart index dcbdaed33f..2b0a44d878 100644 --- a/packages/flutter/lib/src/widgets/page_storage.dart +++ b/packages/flutter/lib/src/widgets/page_storage.dart @@ -52,7 +52,7 @@ class _StorageEntryIdentifier { /// page to another. class PageStorageBucket { _StorageEntryIdentifier _computeStorageIdentifier(BuildContext context) { - _StorageEntryIdentifier result = new _StorageEntryIdentifier(); + final _StorageEntryIdentifier result = new _StorageEntryIdentifier(); result.clientType = context.widget.runtimeType; Key lastKey = context.widget.key; if (lastKey is! GlobalKey) { @@ -128,7 +128,7 @@ class PageStorage extends StatelessWidget { /// PageStorageBucket bucket = PageStorage.of(context); /// ``` static PageStorageBucket of(BuildContext context) { - PageStorage widget = context.ancestorWidgetOfExactType(PageStorage); + final PageStorage widget = context.ancestorWidgetOfExactType(PageStorage); return widget?.bucket; } diff --git a/packages/flutter/lib/src/widgets/page_view.dart b/packages/flutter/lib/src/widgets/page_view.dart index 96678ff499..c737404036 100644 --- a/packages/flutter/lib/src/widgets/page_view.dart +++ b/packages/flutter/lib/src/widgets/page_view.dart @@ -116,7 +116,7 @@ class PageController extends ScrollController { @override void attach(ScrollPosition position) { super.attach(position); - _PagePosition pagePosition = position; + final _PagePosition pagePosition = position; pagePosition.viewportFraction = viewportFraction; } } diff --git a/packages/flutter/lib/src/widgets/pages.dart b/packages/flutter/lib/src/widgets/pages.dart index 8a52278c46..245da30f8d 100644 --- a/packages/flutter/lib/src/widgets/pages.dart +++ b/packages/flutter/lib/src/widgets/pages.dart @@ -29,7 +29,7 @@ abstract class PageRoute extends ModalRoute { @override AnimationController createAnimationController() { - AnimationController controller = super.createAnimationController(); + final AnimationController controller = super.createAnimationController(); if (settings.isInitialRoute) controller.value = 1.0; return controller; diff --git a/packages/flutter/lib/src/widgets/primary_scroll_controller.dart b/packages/flutter/lib/src/widgets/primary_scroll_controller.dart index 35a4f8c343..855f902808 100644 --- a/packages/flutter/lib/src/widgets/primary_scroll_controller.dart +++ b/packages/flutter/lib/src/widgets/primary_scroll_controller.dart @@ -25,7 +25,7 @@ class PrimaryScrollController extends InheritedWidget { final ScrollController controller; static ScrollController of(BuildContext context) { - PrimaryScrollController result = context.inheritFromWidgetOfExactType(PrimaryScrollController); + final PrimaryScrollController result = context.inheritFromWidgetOfExactType(PrimaryScrollController); return result?.controller; } diff --git a/packages/flutter/lib/src/widgets/routes.dart b/packages/flutter/lib/src/widgets/routes.dart index da6b9337fd..ef570c1b5a 100644 --- a/packages/flutter/lib/src/widgets/routes.dart +++ b/packages/flutter/lib/src/widgets/routes.dart @@ -104,7 +104,7 @@ abstract class TransitionRoute extends OverlayRoute { /// this route from the previous one, and back to the previous route from this /// one. AnimationController createAnimationController() { - Duration duration = transitionDuration; + final Duration duration = transitionDuration; assert(duration != null && duration >= Duration.ZERO); return new AnimationController( duration: duration, @@ -198,7 +198,7 @@ abstract class TransitionRoute extends OverlayRoute { void _updateForwardAnimation(Route nextRoute) { if (nextRoute is TransitionRoute && canTransitionTo(nextRoute) && nextRoute.canTransitionFrom(this)) { - Animation current = _forwardAnimation.parent; + final Animation current = _forwardAnimation.parent; if (current != null) { if (current is TrainHoppingAnimation) { TrainHoppingAnimation newAnimation; @@ -323,7 +323,7 @@ abstract class LocalHistoryRoute extends Route { @override bool didPop(T result) { if (_localHistory != null && _localHistory.isNotEmpty) { - LocalHistoryEntry entry = _localHistory.removeLast(); + final LocalHistoryEntry entry = _localHistory.removeLast(); assert(entry._owner == this); entry._owner = null; entry._notifyRemoved(); @@ -506,7 +506,7 @@ abstract class ModalRoute extends TransitionRoute with LocalHistoryRoute route = ModalRoute.of(context); /// ``` static ModalRoute of(BuildContext context) { - _ModalScopeStatus widget = context.inheritFromWidgetOfExactType(_ModalScopeStatus); + final _ModalScopeStatus widget = context.inheritFromWidgetOfExactType(_ModalScopeStatus); return widget?.route; } @@ -588,7 +588,7 @@ abstract class ModalRoute extends TransitionRoute with LocalHistoryRoute didPush() { if (!settings.isInitialRoute) { - BuildContext overlayContext = navigator.overlay?.context; + final BuildContext overlayContext = navigator.overlay?.context; assert(() { if (overlayContext == null) { throw new FlutterError( @@ -807,7 +807,7 @@ abstract class ModalRoute extends TransitionRoute with LocalHistoryRoute color = new ColorTween( + final Animation color = new ColorTween( begin: _kTransparent, end: barrierColor ).animate(new CurvedAnimation( diff --git a/packages/flutter/lib/src/widgets/scroll_physics.dart b/packages/flutter/lib/src/widgets/scroll_physics.dart index a39bcf70b6..a0ab3dc65e 100644 --- a/packages/flutter/lib/src/widgets/scroll_physics.dart +++ b/packages/flutter/lib/src/widgets/scroll_physics.dart @@ -53,8 +53,8 @@ class BouncingScrollPhysics extends ScrollPhysics { assert(delta > 0.0); double total = 0.0; if (start < lowLimit) { - double distanceToLimit = lowLimit - start; - double deltaToLimit = distanceToLimit / gamma; + final double distanceToLimit = lowLimit - start; + final double deltaToLimit = distanceToLimit / gamma; if (delta < deltaToLimit) return total + delta * gamma; total += distanceToLimit; diff --git a/packages/flutter/lib/src/widgets/scroll_position.dart b/packages/flutter/lib/src/widgets/scroll_position.dart index faa4a3e913..3348df4c35 100644 --- a/packages/flutter/lib/src/widgets/scroll_position.dart +++ b/packages/flutter/lib/src/widgets/scroll_position.dart @@ -274,7 +274,7 @@ class ScrollPosition extends ViewportOffset { if (value != pixels) { final double overScroll = physics.applyBoundaryConditions(this, value); assert(() { - double delta = value - pixels; + final double delta = value - pixels; if (overScroll.abs() > delta.abs()) { throw new FlutterError( '${physics.runtimeType}.applyBoundaryConditions returned invalid overscroll value.\n' diff --git a/packages/flutter/lib/src/widgets/scrollable.dart b/packages/flutter/lib/src/widgets/scrollable.dart index 6a01eb51a5..7eaffb7105 100644 --- a/packages/flutter/lib/src/widgets/scrollable.dart +++ b/packages/flutter/lib/src/widgets/scrollable.dart @@ -234,7 +234,7 @@ class ScrollableState extends State with TickerProviderStateMixin return; _shouldIgnorePointer = value; if (_ignorePointerKey.currentContext != null) { - RenderIgnorePointer renderBox = _ignorePointerKey.currentContext.findRenderObject(); + final RenderIgnorePointer renderBox = _ignorePointerKey.currentContext.findRenderObject(); renderBox.ignoring = _shouldIgnorePointer; } } @@ -298,7 +298,7 @@ class ScrollableState extends State with TickerProviderStateMixin Widget build(BuildContext context) { assert(position != null); // TODO(ianh): Having all these global keys is sad. - Widget result = new RawGestureDetector( + final Widget result = new RawGestureDetector( key: _gestureDetectorKey, gestures: _gestureRecognizers, behavior: HitTestBehavior.opaque, diff --git a/packages/flutter/lib/src/widgets/semantics_debugger.dart b/packages/flutter/lib/src/widgets/semantics_debugger.dart index d59b86a90f..d51dd75405 100644 --- a/packages/flutter/lib/src/widgets/semantics_debugger.dart +++ b/packages/flutter/lib/src/widgets/semantics_debugger.dart @@ -92,8 +92,8 @@ class _SemanticsDebuggerState extends State { } void _handlePanEnd(DragEndDetails details) { - double vx = details.velocity.pixelsPerSecond.dx; - double vy = details.velocity.pixelsPerSecond.dy; + final double vx = details.velocity.pixelsPerSecond.dx; + final double vy = details.velocity.pixelsPerSecond.dy; if (vx.abs() == vy.abs()) return; if (vx.abs() > vy.abs()) { @@ -175,8 +175,8 @@ class _SemanticsClient extends ChangeNotifier { } String _getMessage(SemanticsNode node) { - SemanticsData data = node.getSemanticsData(); - List annotations = []; + final SemanticsData data = node.getSemanticsData(); + final List annotations = []; bool wantsTap = false; if (data.hasFlag(SemanticsFlags.hasCheckedState)) { @@ -231,13 +231,13 @@ const TextStyle _messageStyle = const TextStyle( ); void _paintMessage(Canvas canvas, SemanticsNode node) { - String message = _getMessage(node); + final String message = _getMessage(node); if (message.isEmpty) return; final Rect rect = node.rect; canvas.save(); canvas.clipRect(rect); - TextPainter textPainter = new TextPainter() + final TextPainter textPainter = new TextPainter() ..text = new TextSpan(style: _messageStyle, text: message) ..layout(maxWidth: rect.width); @@ -260,21 +260,21 @@ void _paint(Canvas canvas, SemanticsNode node, int rank) { canvas.save(); if (node.transform != null) canvas.transform(node.transform.storage); - Rect rect = node.rect; + final Rect rect = node.rect; if (!rect.isEmpty) { - Color lineColor = new Color(0xFF000000 + new math.Random(node.id).nextInt(0xFFFFFF)); - Rect innerRect = rect.deflate(rank * 1.0); + final Color lineColor = new Color(0xFF000000 + new math.Random(node.id).nextInt(0xFFFFFF)); + final Rect innerRect = rect.deflate(rank * 1.0); if (innerRect.isEmpty) { - Paint fill = new Paint() + final Paint fill = new Paint() ..color = lineColor ..style = PaintingStyle.fill; canvas.drawRect(rect, fill); } else { - Paint fill = new Paint() + final Paint fill = new Paint() ..color = const Color(0xFFFFFFFF) ..style = PaintingStyle.fill; canvas.drawRect(rect, fill); - Paint line = new Paint() + final Paint line = new Paint() ..strokeWidth = rank * 2.0 ..color = lineColor ..style = PaintingStyle.stroke; @@ -309,7 +309,7 @@ class _SemanticsDebuggerPainter extends CustomPainter { if (rootNode != null) _paint(canvas, rootNode, _findDepth(rootNode)); if (pointerPosition != null) { - Paint paint = new Paint(); + final Paint paint = new Paint(); paint.color = const Color(0x7F0090FF); canvas.drawCircle(pointerPosition, 10.0, paint); } diff --git a/packages/flutter/lib/src/widgets/sliver.dart b/packages/flutter/lib/src/widgets/sliver.dart index f912b77eaa..998d643cc9 100644 --- a/packages/flutter/lib/src/widgets/sliver.dart +++ b/packages/flutter/lib/src/widgets/sliver.dart @@ -42,7 +42,7 @@ abstract class SliverChildDelegate { @override String toString() { - List description = []; + final List description = []; debugFillDescription(description); return '$runtimeType#$hashCode(${description.join(", ")})'; } @@ -311,7 +311,7 @@ class SliverMultiBoxAdaptorElement extends RenderObjectElement implements Render // whole widget. for (int index = firstIndex; index <= lastIndex; ++index) { _currentlyUpdatingChildIndex = index; - Element newChild = updateChild(_childElements[index], _build(index), index); + final Element newChild = updateChild(_childElements[index], _build(index), index); if (newChild != null) { _childElements[index] = newChild; _currentBeforeChild = newChild.renderObject; @@ -443,7 +443,7 @@ class SliverMultiBoxAdaptorElement extends RenderObjectElement implements Render assert(_currentlyUpdatingChildIndex == slot); renderObject.insert(child, after: _currentBeforeChild); assert(() { - SliverMultiBoxAdaptorParentData childParentData = child.parentData; + final SliverMultiBoxAdaptorParentData childParentData = child.parentData; assert(slot == childParentData.index); return true; }); diff --git a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart index ff2296a31f..7cfdd6e967 100644 --- a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart +++ b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart @@ -54,7 +54,7 @@ class SliverPersistentHeader extends StatelessWidget { void debugFillDescription(List description) { super.debugFillDescription(description); description.add('delegate: $delegate'); - List flags = []; + final List flags = []; if (pinned) flags.add('pinned'); if (floating) diff --git a/packages/flutter/lib/src/widgets/table.dart b/packages/flutter/lib/src/widgets/table.dart index c1360ce706..53549095b3 100644 --- a/packages/flutter/lib/src/widgets/table.dart +++ b/packages/flutter/lib/src/widgets/table.dart @@ -51,7 +51,7 @@ class TableRow { @override String toString() { - StringBuffer result = new StringBuffer(); + final StringBuffer result = new StringBuffer(); result.write('TableRow('); if (key != null) result.write('$key, '); @@ -117,7 +117,7 @@ class Table extends RenderObjectWidget { return true; }); assert(() { - List flatChildren = children.expand((TableRow row) => row.children).toList(growable: false); + final List flatChildren = children.expand((TableRow row) => row.children).toList(growable: false); if (debugChildrenHaveDuplicateKeys(this, flatChildren)) { throw new FlutterError( 'Two or more cells in this Table contain widgets with the same key.\n' @@ -279,7 +279,7 @@ class _TableElement extends RenderObjectElement { } return false; }); - TableCellParentData childParentData = child.parentData; + final TableCellParentData childParentData = child.parentData; renderObject.setChild(childParentData.x, childParentData.y, null); } @@ -289,14 +289,14 @@ class _TableElement extends RenderObjectElement { void update(Table newWidget) { assert(!_debugWillReattachChildren); assert(() { _debugWillReattachChildren = true; return true; }); - Map> oldKeyedRows = new Map>.fromIterable( + final Map> oldKeyedRows = new Map>.fromIterable( _children.where((_TableElementRow row) => row.key != null), key: (_TableElementRow row) => row.key, value: (_TableElementRow row) => row.children ); - Iterator<_TableElementRow> oldUnkeyedRows = _children.where((_TableElementRow row) => row.key == null).iterator; - List<_TableElementRow> newChildren = <_TableElementRow>[]; - Set> taken = new Set>(); + final Iterator<_TableElementRow> oldUnkeyedRows = _children.where((_TableElementRow row) => row.key == null).iterator; + final List<_TableElementRow> newChildren = <_TableElementRow>[]; + final Set> taken = new Set>(); for (TableRow row in newWidget.children) { List oldChildren; if (row.key != null && oldKeyedRows.containsKey(row.key)) { @@ -369,7 +369,7 @@ class TableCell extends ParentDataWidget { final TableCellParentData parentData = renderObject.parentData; if (parentData.verticalAlignment != verticalAlignment) { parentData.verticalAlignment = verticalAlignment; - AbstractNode targetParent = renderObject.parent; + final AbstractNode targetParent = renderObject.parent; if (targetParent is RenderObject) targetParent.markNeedsLayout(); } diff --git a/packages/flutter/lib/src/widgets/text.dart b/packages/flutter/lib/src/widgets/text.dart index 9872686f2b..8a35833a7c 100644 --- a/packages/flutter/lib/src/widgets/text.dart +++ b/packages/flutter/lib/src/widgets/text.dart @@ -60,7 +60,7 @@ class DefaultTextStyle extends InheritedWidget { }) { assert(context != null); assert(child != null); - DefaultTextStyle parent = DefaultTextStyle.of(context); + final DefaultTextStyle parent = DefaultTextStyle.of(context); return new DefaultTextStyle( key: key, style: parent.style.merge(style), @@ -188,7 +188,7 @@ class Text extends StatelessWidget { @override Widget build(BuildContext context) { - DefaultTextStyle defaultTextStyle = DefaultTextStyle.of(context); + final DefaultTextStyle defaultTextStyle = DefaultTextStyle.of(context); TextStyle effectiveTextStyle = style; if (style == null || style.inherit) effectiveTextStyle = defaultTextStyle.style.merge(style); diff --git a/packages/flutter/lib/src/widgets/text_selection.dart b/packages/flutter/lib/src/widgets/text_selection.dart index 1d60ad86fd..c3e068c395 100644 --- a/packages/flutter/lib/src/widgets/text_selection.dart +++ b/packages/flutter/lib/src/widgets/text_selection.dart @@ -234,8 +234,8 @@ class TextSelectionOverlay implements TextSelectionDelegate { return new Container(); // Find the horizontal midpoint, just above the selected text. - List endpoints = renderObject.getEndpointsForSelection(_selection); - Point midpoint = new Point( + final List endpoints = renderObject.getEndpointsForSelection(_selection); + final Point midpoint = new Point( (endpoints.length == 1) ? endpoints[0].point.x : (endpoints[0].point.x + endpoints[1].point.x) / 2.0, @@ -281,7 +281,7 @@ class TextSelectionOverlay implements TextSelectionDelegate { set inputValue(InputValue value) { update(value); if (onSelectionOverlayChanged != null) { - Rect caretRect = renderObject.getLocalRectForCaret(value.selection.extent); + final Rect caretRect = renderObject.getLocalRectForCaret(value.selection.extent); onSelectionOverlayChanged(value, caretRect); } } @@ -324,7 +324,7 @@ class _TextSelectionHandleOverlayState extends State<_TextSelectionHandleOverlay void _handleDragUpdate(DragUpdateDetails details) { _dragPosition += details.delta; - TextPosition position = config.renderObject.getPositionForPoint(_dragPosition); + final TextPosition position = config.renderObject.getPositionForPoint(_dragPosition); if (config.selection.isCollapsed) { config.onSelectionHandleChanged(new TextSelection.fromPosition(position)); @@ -359,7 +359,7 @@ class _TextSelectionHandleOverlayState extends State<_TextSelectionHandleOverlay @override Widget build(BuildContext context) { - List endpoints = config.renderObject.getEndpointsForSelection(config.selection); + final List endpoints = config.renderObject.getEndpointsForSelection(config.selection); Point point; TextSelectionHandleType type; diff --git a/packages/flutter/lib/src/widgets/ticker_provider.dart b/packages/flutter/lib/src/widgets/ticker_provider.dart index 46b75aafbc..621884e348 100644 --- a/packages/flutter/lib/src/widgets/ticker_provider.dart +++ b/packages/flutter/lib/src/widgets/ticker_provider.dart @@ -50,7 +50,7 @@ class TickerMode extends InheritedWidget { /// bool tickingEnabled = TickerMode.of(context); /// ``` static bool of(BuildContext context) { - TickerMode widget = context.inheritFromWidgetOfExactType(TickerMode); + final TickerMode widget = context.inheritFromWidgetOfExactType(TickerMode); return widget?.enabled ?? true; } diff --git a/packages/flutter/lib/src/widgets/transitions.dart b/packages/flutter/lib/src/widgets/transitions.dart index 2c0e07cec3..9c02b8174e 100644 --- a/packages/flutter/lib/src/widgets/transitions.dart +++ b/packages/flutter/lib/src/widgets/transitions.dart @@ -166,7 +166,7 @@ class ScaleTransition extends AnimatedWidget { @override Widget build(BuildContext context) { final double scaleValue = scale.value; - Matrix4 transform = new Matrix4.identity() + final Matrix4 transform = new Matrix4.identity() ..scale(scaleValue, scaleValue, 1.0); return new Transform( transform: transform, @@ -198,8 +198,8 @@ class RotationTransition extends AnimatedWidget { @override Widget build(BuildContext context) { - double turnsValue = turns.value; - Matrix4 transform = new Matrix4.rotationZ(turnsValue * math.PI * 2.0); + final double turnsValue = turns.value; + final Matrix4 transform = new Matrix4.rotationZ(turnsValue * math.PI * 2.0); return new Transform( transform: transform, alignment: FractionalOffset.center, diff --git a/packages/flutter/lib/src/widgets/unique_widget.dart b/packages/flutter/lib/src/widgets/unique_widget.dart index c03df59ef7..db2cfec96c 100644 --- a/packages/flutter/lib/src/widgets/unique_widget.dart +++ b/packages/flutter/lib/src/widgets/unique_widget.dart @@ -37,7 +37,7 @@ abstract class UniqueWidget> extends StatefulWid /// /// Might be null if the widget is not currently in the tree. T get currentState { - GlobalKey globalKey = key; + final GlobalKey globalKey = key; return globalKey.currentState; } }