| // Copyright 2013 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. |
| |
| part of dart.ui; |
| |
| /// Wraps version information for Dart, Skia and Flutter. |
| class Versions { |
| |
| /// Builds a versions object using the information |
| /// we get from calling the native getVersions. |
| factory Versions._internal() { |
| final List<String> versions = _getVersions(); |
| return Versions._(versions[0], versions[1], versions[2]); |
| } |
| |
| /// Private constructor to capture the versions. |
| Versions._( |
| this.dartVersion, |
| this.skiaVersion, |
| this.flutterEngineVersion |
| ) : assert(dartVersion != null), |
| assert(skiaVersion != null), |
| assert(flutterEngineVersion != null); |
| |
| /// returns a vector with 3 versions. |
| /// Dart, Skia and Flutter engine versions in this order. |
| static List<String> _getVersions() native 'Versions_getVersions'; |
| |
| final String dartVersion; |
| final String skiaVersion; |
| final String flutterEngineVersion; |
| } |
| |
| /// [Versions] singleton. This object exposes Dart, Skia and |
| /// Flutter engine versions. |
| final Versions versions = Versions._internal(); |