Force all dart:io usage to go through 'base/io.dart' (#7390)

This ensures that accidental usages of dart:io's
file API don't creep in over time.
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index 0017cbf..8ef01f2 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -4,10 +4,10 @@
 
 import 'dart:async';
 import 'dart:convert';
-import 'dart:io' as io;
 
 import '../application_package.dart';
 import '../base/file_system.dart';
+import '../base/io.dart';
 import '../base/os.dart';
 import '../base/process.dart';
 import '../base/process_manager.dart';
@@ -28,7 +28,7 @@
   IOSDevices() : super('IOSDevices');
 
   @override
-  bool get supportsPlatform => io.Platform.isMacOS;
+  bool get supportsPlatform => Platform.isMacOS;
 
   @override
   List<Device> pollingGetDevices() => IOSDevice.getAttachedDevices();
@@ -125,7 +125,7 @@
       try {
         command = runCheckedSync(<String>['which', command]).trim();
       } catch (e) {
-        if (io.Platform.isMacOS) {
+        if (Platform.isMacOS) {
           printError('$command not found. $macInstructions');
         } else {
           printError('Cannot control iOS devices or simulators. $command is not available on your platform.');
@@ -313,7 +313,7 @@
   }
 
   Future<bool> pushFile(ApplicationPackage app, String localFile, String targetFile) async {
-    if (io.Platform.isMacOS) {
+    if (Platform.isMacOS) {
       runSync(<String>[
         pusherPath,
         '-t',
@@ -392,7 +392,7 @@
   final IOSDevice device;
 
   StreamController<String> _linesController;
-  io.Process _process;
+  Process _process;
 
   @override
   Stream<String> get logLines => _linesController.stream;
@@ -401,7 +401,7 @@
   String get name => device.name;
 
   void _start() {
-    runCommand(<String>[device.loggerPath]).then((io.Process process) {
+    runCommand(<String>[device.loggerPath]).then((Process process) {
       _process = process;
       _process.stdout.transform(UTF8.decoder).transform(const LineSplitter()).listen(_onLine);
       _process.stderr.transform(UTF8.decoder).transform(const LineSplitter()).listen(_onLine);
@@ -445,7 +445,7 @@
     }
 
     // Usage: iproxy LOCAL_TCP_PORT DEVICE_TCP_PORT UDID
-    io.Process process = await runCommand(<String>[
+    Process process = await runCommand(<String>[
       device.iproxyPath,
       hostPort.toString(),
       devicePort.toString(),
@@ -471,7 +471,7 @@
 
     printTrace("Unforwarding port $forwardedPort");
 
-    io.Process process = forwardedPort.context;
+    Process process = forwardedPort.context;
 
     if (process != null) {
       processManager.killPid(process.pid);
diff --git a/packages/flutter_tools/lib/src/ios/ios_workflow.dart b/packages/flutter_tools/lib/src/ios/ios_workflow.dart
index e2f9096..cc89764 100644
--- a/packages/flutter_tools/lib/src/ios/ios_workflow.dart
+++ b/packages/flutter_tools/lib/src/ios/ios_workflow.dart
@@ -3,8 +3,8 @@
 // found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:io';
 
+import '../base/io.dart';
 import '../base/os.dart';
 import '../base/process.dart';
 import '../doctor.dart';
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index cf1d317..191d7bd 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -4,13 +4,13 @@
 
 import 'dart:async';
 import 'dart:convert' show JSON;
-import 'dart:io' as io;
 
 import 'package:path/path.dart' as path;
 
 import '../application_package.dart';
 import '../base/context.dart';
 import '../base/file_system.dart';
+import '../base/io.dart';
 import '../base/process.dart';
 import '../base/process_manager.dart';
 import '../build_info.dart';
@@ -41,7 +41,7 @@
       } else {
         try {
           printTrace('xcrun clang');
-          io.ProcessResult result = processManager.runSync('/usr/bin/xcrun', <String>['clang']);
+          ProcessResult result = processManager.runSync('/usr/bin/xcrun', <String>['clang']);
 
           if (result.stdout != null && result.stdout.contains('license'))
             _eulaSigned = false;
@@ -220,7 +220,7 @@
 final String _xcodeRequirement = 'Xcode 7.0 or greater is required to develop for iOS.';
 
 bool _checkXcodeVersion() {
-  if (!io.Platform.isMacOS)
+  if (!Platform.isMacOS)
     return false;
   try {
     String version = runCheckedSync(<String>['xcodebuild', '-version']);
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index 597ca42..ce457a7 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -4,7 +4,6 @@
 
 import 'dart:async';
 import 'dart:convert';
-import 'dart:io' as io;
 import 'dart:math' as math;
 
 import 'package:path/path.dart' as path;
@@ -13,6 +12,7 @@
 import '../base/common.dart';
 import '../base/context.dart';
 import '../base/file_system.dart';
+import '../base/io.dart';
 import '../base/process.dart';
 import '../base/process_manager.dart';
 import '../build_info.dart';
@@ -31,7 +31,7 @@
   IOSSimulators() : super('IOSSimulators');
 
   @override
-  bool get supportsPlatform => io.Platform.isMacOS;
+  bool get supportsPlatform => Platform.isMacOS;
 
   @override
   List<Device> pollingGetDevices() => IOSSimulatorUtils.instance.getAttachedDevices();
@@ -192,7 +192,7 @@
 
     List<String> args = <String>['simctl', 'list', '--json', section.name];
     printTrace('$_xcrunPath ${args.join(' ')}');
-    io.ProcessResult results = processManager.runSync(_xcrunPath, args);
+    ProcessResult results = processManager.runSync(_xcrunPath, args);
     if (results.exitCode != 0) {
       printError('Error executing simctl: ${results.exitCode}\n${results.stderr}');
       return <String, Map<String, dynamic>>{};
@@ -359,7 +359,7 @@
 
   @override
   bool isSupported() {
-    if (!io.Platform.isMacOS) {
+    if (!Platform.isMacOS) {
       _supportMessage = "Not supported on a non Mac host";
       return false;
     }
@@ -531,7 +531,7 @@
 
   Future<bool> pushFile(
       ApplicationPackage app, String localFile, String targetFile) async {
-    if (io.Platform.isMacOS) {
+    if (Platform.isMacOS) {
       String simulatorHomeDirectory = _getSimulatorAppHomeDirectory(app);
       runCheckedSync(<String>['cp', localFile, path.join(simulatorHomeDirectory, targetFile)]);
       return true;
@@ -640,8 +640,8 @@
   StreamController<String> _linesController;
 
   // We log from two files: the device and the system log.
-  io.Process _deviceProcess;
-  io.Process _systemProcess;
+  Process _deviceProcess;
+  Process _systemProcess;
 
   @override
   Stream<String> get logLines => _linesController.stream;