Unverified Commit c587d73e authored by Jenn Magder's avatar Jenn Magder Committed by GitHub

Use androidSdk globals variable everywhere (#56330)

parent 721ce7aa
...@@ -12,7 +12,6 @@ import '../base/file_system.dart'; ...@@ -12,7 +12,6 @@ import '../base/file_system.dart';
import '../build_info.dart'; import '../build_info.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../project.dart'; import '../project.dart';
import 'android_sdk.dart';
import 'gradle.dart'; import 'gradle.dart';
/// The builder in the current context. /// The builder in the current context.
...@@ -87,7 +86,7 @@ class _AndroidBuilderImpl extends AndroidBuilder { ...@@ -87,7 +86,7 @@ class _AndroidBuilderImpl extends AndroidBuilder {
buildNumber: buildNumber, buildNumber: buildNumber,
); );
} finally { } finally {
androidSdk?.reinitialize(); globals.androidSdk?.reinitialize();
} }
} }
...@@ -107,7 +106,7 @@ class _AndroidBuilderImpl extends AndroidBuilder { ...@@ -107,7 +106,7 @@ class _AndroidBuilderImpl extends AndroidBuilder {
localGradleErrors: gradleErrors, localGradleErrors: gradleErrors,
); );
} finally { } finally {
androidSdk?.reinitialize(); globals.androidSdk?.reinitialize();
} }
} }
...@@ -127,7 +126,7 @@ class _AndroidBuilderImpl extends AndroidBuilder { ...@@ -127,7 +126,7 @@ class _AndroidBuilderImpl extends AndroidBuilder {
localGradleErrors: gradleErrors, localGradleErrors: gradleErrors,
); );
} finally { } finally {
androidSdk?.reinitialize(); globals.androidSdk?.reinitialize();
} }
} }
} }
...@@ -217,7 +217,7 @@ class AndroidDevice extends Device { ...@@ -217,7 +217,7 @@ class AndroidDevice extends Device {
_AndroidDevicePortForwarder _portForwarder; _AndroidDevicePortForwarder _portForwarder;
List<String> adbCommandForDevice(List<String> args) { List<String> adbCommandForDevice(List<String> args) {
return <String>[getAdbPath(androidSdk), '-s', id, ...args]; return <String>[getAdbPath(globals.androidSdk), '-s', id, ...args];
} }
String runAdbCheckedSync( String runAdbCheckedSync(
...@@ -274,19 +274,19 @@ class AndroidDevice extends Device { ...@@ -274,19 +274,19 @@ class AndroidDevice extends Device {
} }
Future<bool> _checkForSupportedAdbVersion() async { Future<bool> _checkForSupportedAdbVersion() async {
if (androidSdk == null) { if (globals.androidSdk == null) {
return false; return false;
} }
try { try {
final RunResult adbVersion = await processUtils.run( final RunResult adbVersion = await processUtils.run(
<String>[getAdbPath(androidSdk), 'version'], <String>[getAdbPath(globals.androidSdk), 'version'],
throwOnError: true, throwOnError: true,
); );
if (_isValidAdbVersion(adbVersion.stdout)) { if (_isValidAdbVersion(adbVersion.stdout)) {
return true; return true;
} }
globals.printError('The ADB at "${getAdbPath(androidSdk)}" is too old; please install version 1.0.39 or later.'); globals.printError('The ADB at "${getAdbPath(globals.androidSdk)}" is too old; please install version 1.0.39 or later.');
} on Exception catch (error, trace) { } on Exception catch (error, trace) {
globals.printError('Error running ADB: $error', stackTrace: trace); globals.printError('Error running ADB: $error', stackTrace: trace);
} }
...@@ -301,7 +301,7 @@ class AndroidDevice extends Device { ...@@ -301,7 +301,7 @@ class AndroidDevice extends Device {
// adb server is out of date. killing.. // adb server is out of date. killing..
// * daemon started successfully * // * daemon started successfully *
await processUtils.run( await processUtils.run(
<String>[getAdbPath(androidSdk), 'start-server'], <String>[getAdbPath(globals.androidSdk), 'start-server'],
throwOnError: true, throwOnError: true,
); );
...@@ -507,7 +507,7 @@ class AndroidDevice extends Device { ...@@ -507,7 +507,7 @@ class AndroidDevice extends Device {
return LaunchResult.failed(); return LaunchResult.failed();
} }
if (!prebuiltApplication || androidSdk.licensesAvailable && androidSdk.latestVersion == null) { if (!prebuiltApplication || globals.androidSdk.licensesAvailable && globals.androidSdk.latestVersion == null) {
globals.printTrace('Building APK'); globals.printTrace('Building APK');
final FlutterProject project = FlutterProject.current(); final FlutterProject project = FlutterProject.current();
await androidBuilder.buildApk( await androidBuilder.buildApk(
......
...@@ -55,7 +55,7 @@ class AndroidEmulator extends Emulator { ...@@ -55,7 +55,7 @@ class AndroidEmulator extends Emulator {
@override @override
Future<void> launch() async { Future<void> launch() async {
final Process process = await processUtils.start( final Process process = await processUtils.start(
<String>[getEmulatorPath(androidSdk), '-avd', id], <String>[getEmulatorPath(globals.androidSdk), '-avd', id],
); );
// Record output from the emulator process. // Record output from the emulator process.
...@@ -112,7 +112,7 @@ class AndroidEmulator extends Emulator { ...@@ -112,7 +112,7 @@ class AndroidEmulator extends Emulator {
/// Return the list of available emulator AVDs. /// Return the list of available emulator AVDs.
List<AndroidEmulator> getEmulatorAvds() { List<AndroidEmulator> getEmulatorAvds() {
final String emulatorPath = getEmulatorPath(androidSdk); final String emulatorPath = getEmulatorPath(globals.androidSdk);
if (emulatorPath == null) { if (emulatorPath == null) {
return <AndroidEmulator>[]; return <AndroidEmulator>[];
} }
......
...@@ -6,7 +6,6 @@ import 'package:meta/meta.dart'; ...@@ -6,7 +6,6 @@ import 'package:meta/meta.dart';
import 'package:platform/platform.dart'; import 'package:platform/platform.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../base/context.dart';
import '../base/file_system.dart'; import '../base/file_system.dart';
import '../base/os.dart'; import '../base/os.dart';
import '../base/process.dart'; import '../base/process.dart';
...@@ -15,8 +14,6 @@ import '../convert.dart'; ...@@ -15,8 +14,6 @@ import '../convert.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import 'android_studio.dart'; import 'android_studio.dart';
AndroidSdk get androidSdk => context.get<AndroidSdk>();
const String kAndroidHome = 'ANDROID_HOME'; const String kAndroidHome = 'ANDROID_HOME';
const String kAndroidSdkRoot = 'ANDROID_SDK_ROOT'; const String kAndroidSdkRoot = 'ANDROID_SDK_ROOT';
......
...@@ -48,13 +48,13 @@ class AndroidWorkflow implements Workflow { ...@@ -48,13 +48,13 @@ class AndroidWorkflow implements Workflow {
bool get appliesToHostPlatform => true; bool get appliesToHostPlatform => true;
@override @override
bool get canListDevices => getAdbPath(androidSdk) != null; bool get canListDevices => getAdbPath(globals.androidSdk) != null;
@override @override
bool get canLaunchDevices => androidSdk != null && androidSdk.validateSdkWellFormed().isEmpty; bool get canLaunchDevices => globals.androidSdk != null && globals.androidSdk.validateSdkWellFormed().isEmpty;
@override @override
bool get canListEmulators => getEmulatorPath(androidSdk) != null; bool get canListEmulators => getEmulatorPath(globals.androidSdk) != null;
} }
class AndroidValidator extends DoctorValidator { class AndroidValidator extends DoctorValidator {
...@@ -242,13 +242,13 @@ class AndroidLicenseValidator extends DoctorValidator { ...@@ -242,13 +242,13 @@ class AndroidLicenseValidator extends DoctorValidator {
final List<ValidationMessage> messages = <ValidationMessage>[]; final List<ValidationMessage> messages = <ValidationMessage>[];
// Match pre-existing early termination behavior // Match pre-existing early termination behavior
if (androidSdk == null || androidSdk.latestVersion == null || if (globals.androidSdk == null || globals.androidSdk.latestVersion == null ||
androidSdk.validateSdkWellFormed().isNotEmpty || globals.androidSdk.validateSdkWellFormed().isNotEmpty ||
! await _checkJavaVersionNoOutput()) { ! await _checkJavaVersionNoOutput()) {
return ValidationResult(ValidationType.missing, messages); return ValidationResult(ValidationType.missing, messages);
} }
final String sdkVersionText = userMessages.androidStatusInfo(androidSdk.latestVersion.buildToolsVersionName); final String sdkVersionText = userMessages.androidStatusInfo(globals.androidSdk.latestVersion.buildToolsVersionName);
// Check for licenses. // Check for licenses.
switch (await licensesAccepted) { switch (await licensesAccepted) {
...@@ -325,8 +325,8 @@ class AndroidLicenseValidator extends DoctorValidator { ...@@ -325,8 +325,8 @@ class AndroidLicenseValidator extends DoctorValidator {
try { try {
final Process process = await processUtils.start( final Process process = await processUtils.start(
<String>[androidSdk.sdkManagerPath, '--licenses'], <String>[globals.androidSdk.sdkManagerPath, '--licenses'],
environment: androidSdk.sdkManagerEnv, environment: globals.androidSdk.sdkManagerEnv,
); );
process.stdin.write('n\n'); process.stdin.write('n\n');
// We expect logcat streams to occasionally contain invalid utf-8, // We expect logcat streams to occasionally contain invalid utf-8,
...@@ -351,19 +351,19 @@ class AndroidLicenseValidator extends DoctorValidator { ...@@ -351,19 +351,19 @@ class AndroidLicenseValidator extends DoctorValidator {
/// Run the Android SDK manager tool in order to accept SDK licenses. /// Run the Android SDK manager tool in order to accept SDK licenses.
static Future<bool> runLicenseManager() async { static Future<bool> runLicenseManager() async {
if (androidSdk == null) { if (globals.androidSdk == null) {
globals.printStatus(userMessages.androidSdkShort); globals.printStatus(userMessages.androidSdkShort);
return false; return false;
} }
if (!_canRunSdkManager()) { if (!_canRunSdkManager()) {
throwToolExit(userMessages.androidMissingSdkManager(androidSdk.sdkManagerPath, globals.platform)); throwToolExit(userMessages.androidMissingSdkManager(globals.androidSdk.sdkManagerPath, globals.platform));
} }
try { try {
final Process process = await processUtils.start( final Process process = await processUtils.start(
<String>[androidSdk.sdkManagerPath, '--licenses'], <String>[globals.androidSdk.sdkManagerPath, '--licenses'],
environment: androidSdk.sdkManagerEnv, environment: globals.androidSdk.sdkManagerEnv,
); );
// The real stdin will never finish streaming. Pipe until the child process // The real stdin will never finish streaming. Pipe until the child process
...@@ -393,7 +393,7 @@ class AndroidLicenseValidator extends DoctorValidator { ...@@ -393,7 +393,7 @@ class AndroidLicenseValidator extends DoctorValidator {
return exitCode == 0; return exitCode == 0;
} on ProcessException catch (e) { } on ProcessException catch (e) {
throwToolExit(userMessages.androidCannotRunSdkManager( throwToolExit(userMessages.androidCannotRunSdkManager(
androidSdk.sdkManagerPath, globals.androidSdk.sdkManagerPath,
e.toString(), e.toString(),
globals.platform, globals.platform,
)); ));
...@@ -402,8 +402,8 @@ class AndroidLicenseValidator extends DoctorValidator { ...@@ -402,8 +402,8 @@ class AndroidLicenseValidator extends DoctorValidator {
} }
static bool _canRunSdkManager() { static bool _canRunSdkManager() {
assert(androidSdk != null); assert(globals.androidSdk != null);
final String sdkManagerPath = androidSdk.sdkManagerPath; final String sdkManagerPath = globals.androidSdk.sdkManagerPath;
return globals.processManager.canRun(sdkManagerPath); return globals.processManager.canRun(sdkManagerPath);
} }
} }
...@@ -8,7 +8,6 @@ import 'package:crypto/crypto.dart'; ...@@ -8,7 +8,6 @@ import 'package:crypto/crypto.dart';
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import 'package:xml/xml.dart' as xml; import 'package:xml/xml.dart' as xml;
import '../android/android_sdk.dart';
import '../artifacts.dart'; import '../artifacts.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../base/file_system.dart'; import '../base/file_system.dart';
...@@ -23,7 +22,6 @@ import '../flutter_manifest.dart'; ...@@ -23,7 +22,6 @@ import '../flutter_manifest.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../project.dart'; import '../project.dart';
import '../reporting/reporting.dart'; import '../reporting/reporting.dart';
import 'android_sdk.dart';
import 'gradle_errors.dart'; import 'gradle_errors.dart';
import 'gradle_utils.dart'; import 'gradle_utils.dart';
...@@ -149,7 +147,7 @@ Future<void> checkGradleDependencies() async { ...@@ -149,7 +147,7 @@ Future<void> checkGradleDependencies() async {
workingDirectory: flutterProject.android.hostAppGradleRoot.path, workingDirectory: flutterProject.android.hostAppGradleRoot.path,
environment: gradleEnvironment, environment: gradleEnvironment,
); );
androidSdk?.reinitialize(); globals.androidSdk?.reinitialize();
progress.stop(); progress.stop();
} }
...@@ -229,7 +227,7 @@ Future<void> buildGradleApp({ ...@@ -229,7 +227,7 @@ Future<void> buildGradleApp({
assert(target != null); assert(target != null);
assert(isBuildingBundle != null); assert(isBuildingBundle != null);
assert(localGradleErrors != null); assert(localGradleErrors != null);
assert(androidSdk != null); assert(globals.androidSdk != null);
if (!project.android.isUsingGradle) { if (!project.android.isUsingGradle) {
_exitWithProjectNotUsingGradleMessage(); _exitWithProjectNotUsingGradleMessage();
...@@ -520,7 +518,7 @@ Future<void> buildGradleAar({ ...@@ -520,7 +518,7 @@ Future<void> buildGradleAar({
assert(target != null); assert(target != null);
assert(androidBuildInfo != null); assert(androidBuildInfo != null);
assert(outputDirectory != null); assert(outputDirectory != null);
assert(androidSdk != null); assert(globals.androidSdk != null);
final FlutterManifest manifest = project.manifest; final FlutterManifest manifest = project.manifest;
if (!manifest.isModule && !manifest.isPlugin) { if (!manifest.isModule && !manifest.isPlugin) {
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import '../android/android_sdk.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../base/context.dart'; import '../base/context.dart';
import '../base/file_system.dart'; import '../base/file_system.dart';
...@@ -16,7 +15,6 @@ import '../cache.dart'; ...@@ -16,7 +15,6 @@ import '../cache.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../project.dart'; import '../project.dart';
import '../reporting/reporting.dart'; import '../reporting/reporting.dart';
import 'android_sdk.dart';
import 'android_studio.dart'; import 'android_studio.dart';
/// The environment variables needed to run Gradle. /// The environment variables needed to run Gradle.
...@@ -239,7 +237,7 @@ void updateLocalProperties({ ...@@ -239,7 +237,7 @@ void updateLocalProperties({
BuildInfo buildInfo, BuildInfo buildInfo,
bool requireAndroidSdk = true, bool requireAndroidSdk = true,
}) { }) {
if (requireAndroidSdk && androidSdk == null) { if (requireAndroidSdk && globals.androidSdk == null) {
exitWithNoSdkMessage(); exitWithNoSdkMessage();
} }
final File localProperties = project.android.localPropertiesFile; final File localProperties = project.android.localPropertiesFile;
...@@ -265,8 +263,8 @@ void updateLocalProperties({ ...@@ -265,8 +263,8 @@ void updateLocalProperties({
changed = true; changed = true;
} }
if (androidSdk != null) { if (globals.androidSdk != null) {
changeIfNecessary('sdk.dir', globals.fsUtils.escapePath(androidSdk.directory)); changeIfNecessary('sdk.dir', globals.fsUtils.escapePath(globals.androidSdk.directory));
} }
changeIfNecessary('flutter.sdk', globals.fsUtils.escapePath(Cache.flutterRoot)); changeIfNecessary('flutter.sdk', globals.fsUtils.escapePath(Cache.flutterRoot));
...@@ -294,8 +292,8 @@ void updateLocalProperties({ ...@@ -294,8 +292,8 @@ void updateLocalProperties({
/// Writes the path to the Android SDK, if known. /// Writes the path to the Android SDK, if known.
void writeLocalProperties(File properties) { void writeLocalProperties(File properties) {
final SettingsFile settings = SettingsFile(); final SettingsFile settings = SettingsFile();
if (androidSdk != null) { if (globals.androidSdk != null) {
settings.values['sdk.dir'] = globals.fsUtils.escapePath(androidSdk.directory); settings.values['sdk.dir'] = globals.fsUtils.escapePath(globals.androidSdk.directory);
} }
settings.writeContents(properties); settings.writeContents(properties);
} }
......
...@@ -8,7 +8,6 @@ import 'dart:collection'; ...@@ -8,7 +8,6 @@ import 'dart:collection';
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import 'package:xml/xml.dart' as xml; import 'package:xml/xml.dart' as xml;
import 'android/android_sdk.dart';
import 'android/gradle.dart'; import 'android/gradle.dart';
import 'base/common.dart'; import 'base/common.dart';
import 'base/context.dart'; import 'base/context.dart';
...@@ -40,7 +39,7 @@ class ApplicationPackageFactory { ...@@ -40,7 +39,7 @@ class ApplicationPackageFactory {
case TargetPlatform.android_arm64: case TargetPlatform.android_arm64:
case TargetPlatform.android_x64: case TargetPlatform.android_x64:
case TargetPlatform.android_x86: case TargetPlatform.android_x86:
if (androidSdk?.licensesAvailable == true && androidSdk?.latestVersion == null) { if (globals.androidSdk?.licensesAvailable == true && globals.androidSdk?.latestVersion == null) {
await checkGradleDependencies(); await checkGradleDependencies();
} }
return applicationBinary == null return applicationBinary == null
...@@ -109,7 +108,7 @@ class AndroidApk extends ApplicationPackage { ...@@ -109,7 +108,7 @@ class AndroidApk extends ApplicationPackage {
/// Creates a new AndroidApk from an existing APK. /// Creates a new AndroidApk from an existing APK.
factory AndroidApk.fromApk(File apk) { factory AndroidApk.fromApk(File apk) {
final String aaptPath = androidSdk?.latestVersion?.aaptPath; final String aaptPath = globals.androidSdk?.latestVersion?.aaptPath;
if (aaptPath == null) { if (aaptPath == null) {
globals.printError(userMessages.aaptNotFound); globals.printError(userMessages.aaptNotFound);
return null; return null;
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
import 'dart:async'; import 'dart:async';
import '../android/android_builder.dart'; import '../android/android_builder.dart';
import '../android/android_sdk.dart';
import '../android/gradle_utils.dart'; import '../android/gradle_utils.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../base/os.dart'; import '../base/os.dart';
import '../build_info.dart'; import '../build_info.dart';
import '../cache.dart'; import '../cache.dart';
import '../globals.dart' as globals;
import '../project.dart'; import '../project.dart';
import '../reporting/reporting.dart'; import '../reporting/reporting.dart';
import '../runner/flutter_command.dart' show FlutterCommandResult; import '../runner/flutter_command.dart' show FlutterCommandResult;
...@@ -88,7 +88,7 @@ class BuildAarCommand extends BuildSubCommand { ...@@ -88,7 +88,7 @@ class BuildAarCommand extends BuildSubCommand {
@override @override
Future<FlutterCommandResult> runCommand() async { Future<FlutterCommandResult> runCommand() async {
if (androidSdk == null) { if (globals.androidSdk == null) {
exitWithNoSdkMessage(); exitWithNoSdkMessage();
} }
final Set<AndroidBuildInfo> androidBuildInfo = <AndroidBuildInfo>{}; final Set<AndroidBuildInfo> androidBuildInfo = <AndroidBuildInfo>{};
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import 'dart:async'; import 'dart:async';
import '../android/android_builder.dart'; import '../android/android_builder.dart';
import '../android/android_sdk.dart';
import '../android/gradle_utils.dart'; import '../android/gradle_utils.dart';
import '../base/terminal.dart'; import '../base/terminal.dart';
import '../build_info.dart'; import '../build_info.dart';
...@@ -86,7 +85,7 @@ class BuildApkCommand extends BuildSubCommand { ...@@ -86,7 +85,7 @@ class BuildApkCommand extends BuildSubCommand {
@override @override
Future<FlutterCommandResult> runCommand() async { Future<FlutterCommandResult> runCommand() async {
if (androidSdk == null) { if (globals.androidSdk == null) {
exitWithNoSdkMessage(); exitWithNoSdkMessage();
} }
final BuildInfo buildInfo = getBuildInfo(); final BuildInfo buildInfo = getBuildInfo();
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
import 'dart:async'; import 'dart:async';
import '../android/android_builder.dart'; import '../android/android_builder.dart';
import '../android/android_sdk.dart';
import '../android/gradle_utils.dart'; import '../android/gradle_utils.dart';
import '../build_info.dart'; import '../build_info.dart';
import '../cache.dart'; import '../cache.dart';
import '../globals.dart' as globals;
import '../project.dart'; import '../project.dart';
import '../reporting/reporting.dart'; import '../reporting/reporting.dart';
import '../runner/flutter_command.dart' show FlutterCommandResult; import '../runner/flutter_command.dart' show FlutterCommandResult;
...@@ -76,7 +76,7 @@ class BuildAppBundleCommand extends BuildSubCommand { ...@@ -76,7 +76,7 @@ class BuildAppBundleCommand extends BuildSubCommand {
@override @override
Future<FlutterCommandResult> runCommand() async { Future<FlutterCommandResult> runCommand() async {
if (androidSdk == null) { if (globals.androidSdk == null) {
exitWithNoSdkMessage(); exitWithNoSdkMessage();
} }
final AndroidBuildInfo androidBuildInfo = AndroidBuildInfo(getBuildInfo(), final AndroidBuildInfo androidBuildInfo = AndroidBuildInfo(getBuildInfo(),
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'dart:async'; import 'dart:async';
import '../android/android_sdk.dart';
import '../android/android_studio.dart'; import '../android/android_studio.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../convert.dart'; import '../convert.dart';
...@@ -172,8 +171,8 @@ class ConfigCommand extends FlutterCommand { ...@@ -172,8 +171,8 @@ class ConfigCommand extends FlutterCommand {
if (results['android-studio-dir'] == null && androidStudio != null) { if (results['android-studio-dir'] == null && androidStudio != null) {
results['android-studio-dir'] = androidStudio.directory; results['android-studio-dir'] = androidStudio.directory;
} }
if (results['android-sdk'] == null && androidSdk != null) { if (results['android-sdk'] == null && globals.androidSdk != null) {
results['android-sdk'] = androidSdk.directory; results['android-sdk'] = globals.androidSdk.directory;
} }
globals.printStatus(const JsonEncoder.withIndent(' ').convert(results)); globals.printStatus(const JsonEncoder.withIndent(' ').convert(results));
......
...@@ -115,7 +115,7 @@ class EmulatorManager { ...@@ -115,7 +115,7 @@ class EmulatorManager {
} }
final List<String> args = <String>[ final List<String> args = <String>[
getAvdManagerPath(androidSdk), getAvdManagerPath(globals.androidSdk),
'create', 'create',
'avd', 'avd',
'-n', name, '-n', name,
...@@ -123,7 +123,7 @@ class EmulatorManager { ...@@ -123,7 +123,7 @@ class EmulatorManager {
'-d', device, '-d', device,
]; ];
final RunResult runResult = processUtils.runSync(args, final RunResult runResult = processUtils.runSync(args,
environment: androidSdk?.sdkManagerEnv); environment: globals.androidSdk?.sdkManagerEnv);
return CreateEmulatorResult( return CreateEmulatorResult(
name, name,
success: runResult.exitCode == 0, success: runResult.exitCode == 0,
...@@ -138,13 +138,13 @@ class EmulatorManager { ...@@ -138,13 +138,13 @@ class EmulatorManager {
]; ];
Future<String> _getPreferredAvailableDevice() async { Future<String> _getPreferredAvailableDevice() async {
final List<String> args = <String>[ final List<String> args = <String>[
getAvdManagerPath(androidSdk), getAvdManagerPath(globals.androidSdk),
'list', 'list',
'device', 'device',
'-c', '-c',
]; ];
final RunResult runResult = processUtils.runSync(args, final RunResult runResult = processUtils.runSync(args,
environment: androidSdk?.sdkManagerEnv); environment: globals.androidSdk?.sdkManagerEnv);
if (runResult.exitCode != 0) { if (runResult.exitCode != 0) {
return null; return null;
} }
...@@ -165,13 +165,13 @@ class EmulatorManager { ...@@ -165,13 +165,13 @@ class EmulatorManager {
// It seems that to get the available list of images, we need to send a // It seems that to get the available list of images, we need to send a
// request to create without the image and it'll provide us a list :-( // request to create without the image and it'll provide us a list :-(
final List<String> args = <String>[ final List<String> args = <String>[
getAvdManagerPath(androidSdk), getAvdManagerPath(globals.androidSdk),
'create', 'create',
'avd', 'avd',
'-n', 'temp', '-n', 'temp',
]; ];
final RunResult runResult = processUtils.runSync(args, final RunResult runResult = processUtils.runSync(args,
environment: androidSdk?.sdkManagerEnv); environment: globals.androidSdk?.sdkManagerEnv);
// Get the list of IDs that match our criteria // Get the list of IDs that match our criteria
final List<String> availableIDs = runResult.stderr final List<String> availableIDs = runResult.stderr
......
...@@ -7,10 +7,11 @@ import 'dart:async'; ...@@ -7,10 +7,11 @@ import 'dart:async';
import 'package:file/file.dart'; import 'package:file/file.dart';
import 'package:file/memory.dart'; import 'package:file/memory.dart';
import 'package:flutter_tools/src/android/android_sdk.dart' import 'package:flutter_tools/src/android/android_sdk.dart'
show getEmulatorPath, AndroidSdk, androidSdk; show getEmulatorPath, AndroidSdk;
import 'package:flutter_tools/src/android/android_emulator.dart'; import 'package:flutter_tools/src/android/android_emulator.dart';
import 'package:flutter_tools/src/base/common.dart'; import 'package:flutter_tools/src/base/common.dart';
import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/device.dart';
import 'package:flutter_tools/src/globals.dart' as globals;
import 'package:mockito/mockito.dart'; import 'package:mockito/mockito.dart';
import 'package:quiver/testing/async.dart'; import 'package:quiver/testing/async.dart';
...@@ -130,7 +131,7 @@ void main() { ...@@ -130,7 +131,7 @@ void main() {
testUsingContext('succeeds', () async { testUsingContext('succeeds', () async {
final AndroidEmulator emulator = AndroidEmulator(emulatorID); final AndroidEmulator emulator = AndroidEmulator(emulatorID);
expect(getEmulatorPath(androidSdk), mockSdk.emulatorPath); expect(getEmulatorPath(globals.androidSdk), mockSdk.emulatorPath);
final Completer<void> completer = Completer<void>(); final Completer<void> completer = Completer<void>();
FakeAsync().run((FakeAsync time) { FakeAsync().run((FakeAsync time) {
unawaited(emulator.launch().whenComplete(completer.complete)); unawaited(emulator.launch().whenComplete(completer.complete));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment