Mainly, this adds documentation to members that were previously lacking documentation. It also adds a big block of documentation about improving performance of widgets. This also removes some references to package:collection and adds global setEquals and listEquals methods in foundation that we can use. (setEquals in particular should be much faster than the package:collection equivalent, though both should be faster as they avoid allocating new objects.) All remaining references now qualify the import so we know what our remaining dependencies are. Also lots of code reordering in Flutter driver to make the code consistent and apply the style guide more thoroughly.
41 lines
1.4 KiB
Dart
41 lines
1.4 KiB
Dart
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'package:meta/meta.dart';
|
|
|
|
/// An object sent from the Flutter Driver to a Flutter application to instruct
|
|
/// the application to perform a task.
|
|
abstract class Command {
|
|
/// Abstract const constructor. This constructor enables subclasses to provide
|
|
/// const constructors so that they can be used in const expressions.
|
|
const Command({ Duration timeout })
|
|
: this.timeout = timeout ?? const Duration(seconds: 5);
|
|
|
|
/// Deserializes this command from the value generated by [serialize].
|
|
Command.deserialize(Map<String, String> json)
|
|
: timeout = new Duration(milliseconds: int.parse(json['timeout']));
|
|
|
|
/// The maximum amount of time to wait for the command to complete.
|
|
///
|
|
/// Defaults to 5 seconds.
|
|
final Duration timeout;
|
|
|
|
/// Identifies the type of the command object and of the handler.
|
|
String get kind;
|
|
|
|
/// Serializes this command to parameter name/value pairs.
|
|
@mustCallSuper
|
|
Map<String, String> serialize() => <String, String>{
|
|
'command': kind,
|
|
'timeout': '${timeout.inMilliseconds}',
|
|
};
|
|
}
|
|
|
|
/// An object sent from a Flutter application back to the Flutter Driver in
|
|
/// response to a command.
|
|
abstract class Result { // ignore: one_member_abstracts
|
|
/// Serializes this message to a JSON map.
|
|
Map<String, dynamic> toJson();
|
|
}
|