mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

* opt out the flutter tool * oops EOF * fix import * Update tool_backend.dart * Update daemon_client.dart * fix more
98 lines
2.8 KiB
Dart
98 lines
2.8 KiB
Dart
// 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.
|
|
|
|
// @dart = 2.8
|
|
|
|
import 'package:flutter_tools/src/build_info.dart';
|
|
import 'package:flutter_tools/src/device.dart';
|
|
import 'package:flutter_tools/src/project.dart';
|
|
|
|
/// A list of fake devices to test JSON serialization
|
|
/// (`Device.toJson()` and `--machine` flag for `devices` command)
|
|
List<FakeDeviceJsonData> fakeDevices = <FakeDeviceJsonData>[
|
|
FakeDeviceJsonData(
|
|
FakeDevice('ephemeral', 'ephemeral', true, true, PlatformType.android),
|
|
<String, Object>{
|
|
'name': 'ephemeral',
|
|
'id': 'ephemeral',
|
|
'isSupported': true,
|
|
'targetPlatform': 'android-arm',
|
|
'emulator': true,
|
|
'sdk': 'Test SDK (1.2.3)',
|
|
'capabilities': <String, Object>{
|
|
'hotReload': true,
|
|
'hotRestart': true,
|
|
'screenshot': false,
|
|
'fastStart': false,
|
|
'flutterExit': true,
|
|
'hardwareRendering': true,
|
|
'startPaused': true
|
|
}
|
|
}
|
|
),
|
|
FakeDeviceJsonData(
|
|
FakeDevice('webby', 'webby')
|
|
..targetPlatform = Future<TargetPlatform>.value(TargetPlatform.web_javascript)
|
|
..sdkNameAndVersion = Future<String>.value('Web SDK (1.2.4)'),
|
|
<String,Object>{
|
|
'name': 'webby',
|
|
'id': 'webby',
|
|
'isSupported': true,
|
|
'targetPlatform': 'web-javascript',
|
|
'emulator': true,
|
|
'sdk': 'Web SDK (1.2.4)',
|
|
'capabilities': <String, Object>{
|
|
'hotReload': true,
|
|
'hotRestart': true,
|
|
'screenshot': false,
|
|
'fastStart': false,
|
|
'flutterExit': true,
|
|
'hardwareRendering': true,
|
|
'startPaused': true
|
|
}
|
|
}
|
|
),
|
|
];
|
|
|
|
/// Fake device to test `devices` command.
|
|
class FakeDevice extends Device {
|
|
FakeDevice(this.name, String id, [bool ephemeral = true, this._isSupported = true, PlatformType type = PlatformType.web]) : super(
|
|
id,
|
|
platformType: type,
|
|
category: Category.mobile,
|
|
ephemeral: ephemeral,
|
|
);
|
|
|
|
final bool _isSupported;
|
|
|
|
@override
|
|
final String name;
|
|
|
|
@override
|
|
Future<TargetPlatform> targetPlatform = Future<TargetPlatform>.value(TargetPlatform.android_arm);
|
|
|
|
@override
|
|
void noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
|
|
|
|
@override
|
|
bool isSupportedForProject(FlutterProject flutterProject) => _isSupported;
|
|
|
|
@override
|
|
bool isSupported() => _isSupported;
|
|
|
|
@override
|
|
Future<bool> isLocalEmulator = Future<bool>.value(true);
|
|
|
|
@override
|
|
Future<String> sdkNameAndVersion = Future<String>.value('Test SDK (1.2.3)');
|
|
}
|
|
|
|
/// Combines fake device with its canonical JSON representation.
|
|
class FakeDeviceJsonData {
|
|
FakeDeviceJsonData(this.dev, this.json);
|
|
|
|
final FakeDevice dev;
|
|
final Map<String, Object> json;
|
|
}
|