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 {
/// Returns [true] if the input has been handled by this function.
Future<bool> _commonTerminalInputHandler(String character) async {
final String lower = character.toLowerCase();
printStatus(''); // the key the user tapped might be on this line
if (lower == 'h' || lower == '?') {
// help
printHelp(details: true);
return true;
} else if (lower == 'w') {
switch(character) {
case 'a':
if (supportsServiceProtocol) {
await _debugDumpApp();
await _debugToggleProfileWidgetBuilds();
return true;
}
} else if (lower == 't') {
if (supportsServiceProtocol) {
await _debugDumpRenderTree();
return false;
case 'd':
case 'D':
await detach();
return true;
}
} else if (character == 'L') {
case 'h':
case 'H':
case '?':
// help
printHelp(details: true);
return true;
case 'i':
case 'I':
if (supportsServiceProtocol) {
await _debugDumpLayerTree();
await _debugToggleWidgetInspector();
return true;
}
} else if (character == 'S') {
return false;
case 'L':
if (supportsServiceProtocol) {
await _debugDumpSemanticsTreeInTraversalOrder();
await _debugDumpLayerTree();
return true;
}
} else if (character == 'U') {
if (supportsServiceProtocol) {
await _debugDumpSemanticsTreeInInverseHitTestOrder();
return false;
case 'o':
case 'O':
if (supportsServiceProtocol && isRunningDebug) {
await _debugTogglePlatform();
return true;
}
} else if (character == 'p') {
return false;
case 'p':
if (supportsServiceProtocol && isRunningDebug) {
await _debugToggleDebugPaintSizeEnabled();
return true;
}
} else if (character == 'P') {
return false;
case 'P':
if (supportsServiceProtocol) {
await _debugTogglePerformanceOverlayOverride();
}
} else if (lower == 'i') {
if (supportsServiceProtocol) {
await _debugToggleWidgetInspector();
return true;
}
} else if (character == 's') {
return false;
case 'q':
case 'Q':
// exit
await exit();
return true;
case 's':
for (FlutterDevice device in flutterDevices) {
if (device.device.supportsScreenshot)
await _screenshot(device);
}
return true;
} else if (character == 'a') {
case 'S':
if (supportsServiceProtocol) {
await _debugToggleProfileWidgetBuilds();
await _debugDumpSemanticsTreeInTraversalOrder();
return true;
}
} else if (lower == 'o') {
if (supportsServiceProtocol && isRunningDebug) {
await _debugTogglePlatform();
return false;
case 't':
case 'T':
if (supportsServiceProtocol) {
await _debugDumpRenderTree();
return true;
}
} else if (lower == 'q') {
// exit
await exit();
return false;
case 'U':
if (supportsServiceProtocol) {
await _debugDumpSemanticsTreeInInverseHitTestOrder();
return true;
} else if (lower == 'd') {
await detach();
}
return false;
case 'w':
case 'W':
if (supportsServiceProtocol) {
await _debugDumpApp();
return true;
} else if (lower == 'z') {
}
return false;
case 'z':
case 'Z':
await _debugToggleDebugCheckElevationsEnabled();
return true;
}
......
......@@ -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;
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