Filter invalid characters in the terminal input stream (#18892)
Fixes https://github.com/flutter/flutter/issues/18007
diff --git a/packages/flutter_tools/lib/src/base/terminal.dart b/packages/flutter_tools/lib/src/base/terminal.dart
index 03d7d04..468c16f 100644
--- a/packages/flutter_tools/lib/src/base/terminal.dart
+++ b/packages/flutter_tools/lib/src/base/terminal.dart
@@ -3,7 +3,7 @@
// found in the LICENSE file.
import 'dart:async';
-import 'dart:convert' show ascii;
+import 'dart:convert' show AsciiDecoder;
import 'package:quiver/strings.dart';
@@ -87,7 +87,7 @@
///
/// Useful when the console is in [singleCharMode].
Stream<String> get onCharInput {
- _broadcastStdInString ??= io.stdin.transform(ascii.decoder).asBroadcastStream();
+ _broadcastStdInString ??= io.stdin.transform(const AsciiDecoder(allowInvalid: true)).asBroadcastStream();
return _broadcastStdInString;
}