Android license detector in doctor, take two (#14783)

* Revert "Revert "Add android license verification to doctor and some refactoring" (#14727)"

This reverts commit d26029475222e8b1c7d8b80072c6b6261e2c3551.

* Add tests, fix sdkManagerEnv and use it consistently, and rearrange Status object model

* AnsiSpinner needs to leave the cursor where it found it.

* fix tests

* Const constructor warning only shows up on windows...?

* Avoid crash if we can't find the home directory

* Make pathVarSeparator return a string in the mock

* Implement review comments

* Fix out-of-order problem on stop
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index 98882b4..0d48146 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -366,7 +366,7 @@
           buildSubStatus = logger.startProgress(
             line,
             expectSlowOperation: true,
-            progressIndicatorPadding: 45,
+            progressIndicatorPadding: kDefaultStatusPadding - 7,
           );
         }
       }
@@ -393,7 +393,7 @@
   scriptOutputPipeTempDirectory?.deleteSync(recursive: true);
   printStatus(
     'Xcode build done',
-    ansiAlternative: 'Xcode build done'.padRight(53)
+    ansiAlternative: 'Xcode build done'.padRight(kDefaultStatusPadding + 1)
         + '${getElapsedAsSeconds(buildStopwatch.elapsed).padLeft(5)}',
   );