Update flutter_tools to use package:file throughout (#7385)

This removes direct file access from within flutter_tools
in favor of using `package:file` via a `FileSystem` that's
accessed via the `ApplicationContext`.

This lays the groundwork for us to be able to easily swap
out the underlying file system when running Flutter tools,
which will be used to provide a record/replay file system,
analogous to what we have for process invocations.
diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart
index caf9686..832d7fe 100644
--- a/packages/flutter_tools/lib/src/android/android_sdk.dart
+++ b/packages/flutter_tools/lib/src/android/android_sdk.dart
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'dart:io';
+import 'dart:io' as io;
 
 import 'package:path/path.dart' as path;
 import 'package:pub_semver/pub_semver.dart';
 
 import '../base/common.dart';
 import '../base/context.dart';
+import '../base/file_system.dart';
 import '../base/os.dart';
 import '../globals.dart';
 
@@ -64,12 +65,12 @@
 
   static AndroidSdk locateAndroidSdk() {
     String androidHomeDir;
-    if (Platform.environment.containsKey(kAndroidHome)) {
-      androidHomeDir = Platform.environment[kAndroidHome];
-    } else if (Platform.isLinux) {
+    if (io.Platform.environment.containsKey(kAndroidHome)) {
+      androidHomeDir = io.Platform.environment[kAndroidHome];
+    } else if (io.Platform.isLinux) {
       if (homeDirPath != null)
         androidHomeDir = '$homeDirPath/Android/Sdk';
-    } else if (Platform.isMacOS) {
+    } else if (io.Platform.isMacOS) {
       if (homeDirPath != null)
         androidHomeDir = '$homeDirPath/Library/Android/sdk';
     }
@@ -84,7 +85,7 @@
     File aaptBin = os.which('aapt'); // in build-tools/$version/aapt
     if (aaptBin != null) {
       // Make sure we're using the aapt from the SDK.
-      aaptBin = new File(aaptBin.resolveSymbolicLinksSync());
+      aaptBin = fs.file(aaptBin.resolveSymbolicLinksSync());
       String dir = aaptBin.parent.parent.parent.path;
       if (validSdkDirectory(dir))
         return new AndroidSdk(dir);
@@ -93,7 +94,7 @@
     File adbBin = os.which('adb'); // in platform-tools/adb
     if (adbBin != null) {
       // Make sure we're using the adb from the SDK.
-      adbBin = new File(adbBin.resolveSymbolicLinksSync());
+      adbBin = fs.file(adbBin.resolveSymbolicLinksSync());
       String dir = adbBin.parent.parent.path;
       if (validSdkDirectory(dir))
         return new AndroidSdk(dir);
@@ -105,7 +106,7 @@
   }
 
   static bool validSdkDirectory(String dir) {
-    return FileSystemEntity.isDirectorySync(path.join(dir, 'platform-tools'));
+    return fs.isDirectorySync(path.join(dir, 'platform-tools'));
   }
 
   List<AndroidSdkVersion> get sdkVersions => _sdkVersions;
@@ -117,7 +118,7 @@
   /// Validate the Android SDK. This returns an empty list if there are no
   /// issues; otherwise, it returns a list of issues found.
   List<String> validateSdkWellFormed() {
-    if (!FileSystemEntity.isFileSync(adbPath))
+    if (!fs.isFileSync(adbPath))
       return <String>['Android SDK file not found: $adbPath.'];
 
     if (sdkVersions.isEmpty || latestVersion == null)
@@ -133,7 +134,7 @@
   void _init() {
     List<String> platforms = <String>[]; // android-22, ...
 
-    Directory platformsDir = new Directory(path.join(directory, 'platforms'));
+    Directory platformsDir = fs.directory(path.join(directory, 'platforms'));
     if (platformsDir.existsSync()) {
       platforms = platformsDir
         .listSync()
@@ -144,7 +145,7 @@
 
     List<Version> buildTools = <Version>[]; // 19.1.0, 22.0.1, ...
 
-    Directory buildToolsDir = new Directory(path.join(directory, 'build-tools'));
+    Directory buildToolsDir = fs.directory(path.join(directory, 'build-tools'));
     if (buildToolsDir.existsSync()) {
       buildTools = buildToolsDir
         .listSync()
@@ -253,7 +254,7 @@
   String toString() => '[${sdk.directory}, SDK version $sdkLevel, build-tools $buildToolsVersionName]';
 
   String _exists(String path) {
-    if (!FileSystemEntity.isFileSync(path))
+    if (!fs.isFileSync(path))
       return 'Android SDK file not found: $path.';
     return null;
   }