feat: implement MCP drawing as screensaver instead of standalone app
- Add ScreensaverType::McpScreen to DisplaySettings enum, toString/fromString - Add 'MCP Screen' option to the Display settings screensaver dropdown - New McpScreensaver (Screensaver subclass): creates full-screen lv_canvas on the overlay, allocates framebuffer in SPIRAM, registers canvas pointer in McpSystemState, shows 'Waiting for LLM...' until first draw command arrives - Wire McpScreensaver into DisplayIdle::activateScreensaver() switch - McpSystem::ensureOverrideScreen() now calls displayidle::findService()-> startScreensaver() instead of launching McpOverrideApp — canvas appears automatically on any LLM draw command - Remove McpOverrideApp (replaced by screensaver), deregister from Tactility.cpp - Remove mcpOverrideEnabled from McpSettings — no longer needed - Simplify McpSettingsApp: remove Screen Override toggle, update info text to direct users to Settings -> Display -> Screensaver -> MCP Screen
This commit is contained in:
@@ -11,7 +11,6 @@ static const auto LOGGER = Logger("McpSettings");
|
||||
constexpr auto* SETTINGS_FILE = "/data/service/mcp/settings.properties";
|
||||
|
||||
constexpr auto* KEY_MCP_ENABLED = "mcpEnabled";
|
||||
constexpr auto* KEY_MCP_OVERRIDE_ENABLED = "mcpOverrideEnabled";
|
||||
|
||||
bool load(McpSettings& settings) {
|
||||
std::map<std::string, std::string> map;
|
||||
@@ -20,23 +19,16 @@ bool load(McpSettings& settings) {
|
||||
}
|
||||
|
||||
auto mcp_enabled = map.find(KEY_MCP_ENABLED);
|
||||
auto mcp_override = map.find(KEY_MCP_OVERRIDE_ENABLED);
|
||||
|
||||
settings.mcpEnabled = (mcp_enabled != map.end())
|
||||
? (mcp_enabled->second == "1" || mcp_enabled->second == "true")
|
||||
: false;
|
||||
|
||||
settings.mcpOverrideEnabled = (mcp_override != map.end())
|
||||
? (mcp_override->second == "1" || mcp_override->second == "true")
|
||||
: true; // Default true
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
McpSettings getDefault() {
|
||||
return McpSettings{
|
||||
.mcpEnabled = false,
|
||||
.mcpOverrideEnabled = true
|
||||
.mcpEnabled = false
|
||||
};
|
||||
}
|
||||
|
||||
@@ -55,7 +47,6 @@ bool save(const McpSettings& settings) {
|
||||
|
||||
std::map<std::string, std::string> map;
|
||||
map[KEY_MCP_ENABLED] = settings.mcpEnabled ? "true" : "false";
|
||||
map[KEY_MCP_OVERRIDE_ENABLED] = settings.mcpOverrideEnabled ? "true" : "false";
|
||||
|
||||
if (!file::savePropertiesFile(SETTINGS_FILE, map)) {
|
||||
LOGGER.error("Failed to save MCP settings to {}", SETTINGS_FILE);
|
||||
|
||||
Reference in New Issue
Block a user