layer_tree.dart 1.19 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'message.dart';

/// A Flutter Driver command that requests a string representation of the layer tree.
class GetLayerTree extends Command {
  /// Create a command to request a string representation of the layer tree.
  const GetLayerTree({ Duration timeout }) : super(timeout: timeout);

  /// Deserializes this command from the value generated by [serialize].
  GetLayerTree.deserialize(Map<String, String> json) : super.deserialize(json);

  @override
  String get kind => 'get_layer_tree';
}

/// A string representation of the layer tree, the result of a
/// [FlutterDriver.getLayerTree] method.
class LayerTree extends Result {
  /// Creates a [LayerTree] object with the given string representation.
  const LayerTree(this.tree);

  /// String representation of the layer tree.
  final String tree;

  /// Deserializes the result from JSON.
  static LayerTree fromJson(Map<String, dynamic> json) {
    return LayerTree(json['tree'] as String);
  }

  @override
  Map<String, dynamic> toJson() => <String, dynamic>{
    'tree': tree,
  };
}