Unverified Commit e3acb5ca authored by Dan Field's avatar Dan Field Committed by GitHub

Refactor keymapping for resident_runner (#35762)

parent f3150ed0
...@@ -807,76 +807,96 @@ abstract class ResidentRunner { ...@@ -807,76 +807,96 @@ abstract class ResidentRunner {
/// Returns [true] if the input has been handled by this function. /// Returns [true] if the input has been handled by this function.
Future<bool> _commonTerminalInputHandler(String character) async { Future<bool> _commonTerminalInputHandler(String character) async {
final String lower = character.toLowerCase();
printStatus(''); // the key the user tapped might be on this line printStatus(''); // the key the user tapped might be on this line
switch(character) {
if (lower == 'h' || lower == '?') { case 'a':
// help
printHelp(details: true);
return true;
} else if (lower == 'w') {
if (supportsServiceProtocol) { if (supportsServiceProtocol) {
await _debugDumpApp(); await _debugToggleProfileWidgetBuilds();
return true; return true;
} }
} else if (lower == 't') { return false;
if (supportsServiceProtocol) { case 'd':
await _debugDumpRenderTree(); case 'D':
await detach();
return true; return true;
} case 'h':
} else if (character == 'L') { case 'H':
case '?':
// help
printHelp(details: true);
return true;
case 'i':
case 'I':
if (supportsServiceProtocol) { if (supportsServiceProtocol) {
await _debugDumpLayerTree(); await _debugToggleWidgetInspector();
return true; return true;
} }
} else if (character == 'S') { return false;
case 'L':
if (supportsServiceProtocol) { if (supportsServiceProtocol) {
await _debugDumpSemanticsTreeInTraversalOrder(); await _debugDumpLayerTree();
return true; return true;
} }
} else if (character == 'U') { return false;
if (supportsServiceProtocol) { case 'o':
await _debugDumpSemanticsTreeInInverseHitTestOrder(); case 'O':
if (supportsServiceProtocol && isRunningDebug) {
await _debugTogglePlatform();
return true; return true;
} }
} else if (character == 'p') { return false;
case 'p':
if (supportsServiceProtocol && isRunningDebug) { if (supportsServiceProtocol && isRunningDebug) {
await _debugToggleDebugPaintSizeEnabled(); await _debugToggleDebugPaintSizeEnabled();
return true; return true;
} }
} else if (character == 'P') { return false;
case 'P':
if (supportsServiceProtocol) { if (supportsServiceProtocol) {
await _debugTogglePerformanceOverlayOverride(); await _debugTogglePerformanceOverlayOverride();
}
} else if (lower == 'i') {
if (supportsServiceProtocol) {
await _debugToggleWidgetInspector();
return true; return true;
} }
} else if (character == 's') { return false;
case 'q':
case 'Q':
// exit
await exit();
return true;
case 's':
for (FlutterDevice device in flutterDevices) { for (FlutterDevice device in flutterDevices) {
if (device.device.supportsScreenshot) if (device.device.supportsScreenshot)
await _screenshot(device); await _screenshot(device);
} }
return true; return true;
} else if (character == 'a') { case 'S':
if (supportsServiceProtocol) { if (supportsServiceProtocol) {
await _debugToggleProfileWidgetBuilds(); await _debugDumpSemanticsTreeInTraversalOrder();
return true;
} }
} else if (lower == 'o') { return false;
if (supportsServiceProtocol && isRunningDebug) { case 't':
await _debugTogglePlatform(); case 'T':
if (supportsServiceProtocol) {
await _debugDumpRenderTree();
return true; return true;
} }
} else if (lower == 'q') { return false;
// exit case 'U':
await exit(); if (supportsServiceProtocol) {
await _debugDumpSemanticsTreeInInverseHitTestOrder();
return true; return true;
} else if (lower == 'd') { }
await detach(); return false;
case 'w':
case 'W':
if (supportsServiceProtocol) {
await _debugDumpApp();
return true; return true;
} else if (lower == 'z') { }
return false;
case 'z':
case 'Z':
await _debugToggleDebugCheckElevationsEnabled(); await _debugToggleDebugCheckElevationsEnabled();
return true; return true;
} }
......
...@@ -1471,6 +1471,16 @@ class FlutterView extends ServiceObject { ...@@ -1471,6 +1471,16 @@ class FlutterView extends ServiceObject {
}); });
} }
Future<void> setSemanticsEnabled(bool enabled) async {
assert(enabled != null);
await owner.vmService.vm.invokeRpc<ServiceObject>('_flutter.setSemanticsEnabled',
params: <String, dynamic>{
'isolateId': _uiIsolate.id,
'viewId': id,
'enabled': enabled,
});
}
bool get hasIsolate => _uiIsolate != null; bool get hasIsolate => _uiIsolate != null;
Future<void> flushUIThreadTasks() async { Future<void> flushUIThreadTasks() async {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment