summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--py_modules/lsfg_vk/plugin.py35
1 files changed, 11 insertions, 24 deletions
diff --git a/py_modules/lsfg_vk/plugin.py b/py_modules/lsfg_vk/plugin.py
index 13df7a4..a253d8a 100644
--- a/py_modules/lsfg_vk/plugin.py
+++ b/py_modules/lsfg_vk/plugin.py
@@ -36,21 +36,7 @@ class Plugin:
return self.configuration_service.get_game_configs()
async def get_installed_games(self):
- result = self.steam_service.get_installed_games()
- if not result.get("success"):
- return result
- cache: Dict[str, Dict[str, Any]] = {}
- for game in result.get("games", []):
- transport = game.get("transport", {})
- if transport.get("kind") != "flatpak":
- continue
- app_id = transport.get("flatpakAppId")
- if not app_id:
- continue
- if app_id not in cache:
- cache[app_id] = self.flatpak_service.resolve_app_support(app_id)
- game["flatpakSupport"] = cache[app_id]
- return result
+ return self.steam_service.get_installed_games()
async def update_game_config(self, appid: str, game_name: str, config: Dict[str, Any]):
return self.configuration_service.update_game_config(appid, game_name, config)
@@ -70,14 +56,12 @@ class Plugin:
state: Dict[str, Any],
shortcut_exe: Optional[str] = None,
command_token_added: bool = False,
- transport: Optional[Dict[str, Any]] = None,
):
return self.wrapper_service.set(
appid,
state,
shortcut_exe,
command_token_added,
- transport,
)
async def remove_workaround_state(self, appid: str):
@@ -112,7 +96,7 @@ class Plugin:
("config", "LSFG-VK configuration", self.configuration_service.config_file_path),
("workarounds", "Per-app workarounds", self.wrapper_service.sidecar_path),
("wrapper", "Generated launch wrapper", self.wrapper_service.wrapper_path),
- ("flatpak_extensions", "Flatpak extension ownership", self.flatpak_service.ownership_path),
+ ("flatpak", "Flatpak ownership state", self.flatpak_service.ownership_path),
)
contents = []
for file_id, label, path in files:
@@ -150,11 +134,14 @@ class Plugin:
async def get_flatpak_support_status(self):
return self.flatpak_service.get_flatpak_support_status()
- async def ensure_flatpak_support(self, flatpak_app_id: str):
- return self.flatpak_service.ensure_app_support(flatpak_app_id)
+ async def get_flatpak_apps(self):
+ return self.flatpak_service.get_flatpak_apps()
- async def repair_flatpak_support(self, flatpak_app_id: str):
- return self.flatpak_service.ensure_app_support(flatpak_app_id)
+ async def prepare_flatpak_app(self, flatpak_app_id: str):
+ return self.flatpak_service.prepare_app(flatpak_app_id)
+
+ async def remove_flatpak_app(self, flatpak_app_id: str):
+ return self.flatpak_service.remove_app_override(flatpak_app_id)
async def set_flatpak_extension_enabled(self, version: str, enabled: bool):
return self.flatpak_service.set_extension_enabled(version, enabled)
@@ -170,13 +157,13 @@ class Plugin:
async def _uninstall(self):
decky.logger.info("decky-lsfg-vk plugin being uninstalled")
- self.installation_service.cleanup_on_uninstall()
try:
- result = self.flatpak_service.remove_plugin_owned_extensions()
+ result = self.flatpak_service.remove_plugin_owned_environment()
if not result.get("success"):
decky.logger.warning(result.get("error"))
except Exception as error:
decky.logger.error(f"Error during Flatpak cleanup: {error}")
+ self.installation_service.cleanup_on_uninstall()
decky.logger.info("decky-lsfg-vk plugin uninstall cleanup completed")
async def _migration(self):