fix to showing a progress display for long tasks (#3265)
diff --git a/packages/flutter_tools/lib/src/base/logger.dart b/packages/flutter_tools/lib/src/base/logger.dart
index 559d966..ff03a7e 100644
--- a/packages/flutter_tools/lib/src/base/logger.dart
+++ b/packages/flutter_tools/lib/src/base/logger.dart
@@ -243,7 +243,7 @@
       double seconds = stopwatch.elapsedMilliseconds / 1000.0;
       print('\b\b\b\b${seconds.toStringAsFixed(1)}s');
     } else {
-      print('\b');
+      print('\b ');
     }
 
     timer.cancel();
@@ -255,7 +255,7 @@
       return;
     live = false;
 
-    print('\b');
+    print('\b ');
     timer.cancel();
   }
 }
diff --git a/packages/flutter_tools/lib/src/commands/precache.dart b/packages/flutter_tools/lib/src/commands/precache.dart
index 3a26b34..6b950c2 100644
--- a/packages/flutter_tools/lib/src/commands/precache.dart
+++ b/packages/flutter_tools/lib/src/commands/precache.dart
@@ -18,7 +18,7 @@
   @override
   Future<int> run() async {
     if (cache.isUpToDate())
-      printStatus('All up-to-date.');
+      printStatus('Already up-to-date.');
     else
       await cache.updateAll();
 
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index f493fe3..f72d45a 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -196,8 +196,8 @@
     if (globalResults['verbose'])
       context[Logger] = new VerboseLogger();
 
-    if (!globalResults['color'])
-      logger.supportsColor = false;
+    if (globalResults.wasParsed('color'))
+      logger.supportsColor = globalResults['color'];
 
     // we must set ArtifactStore.flutterRoot early because other features use it
     // (e.g. enginePath's initialiser uses it)