diff options
| author | Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> | 2026-09-10 15:38:41 -0400 |
|---|---|---|
| committer | Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> | 2026-09-10 15:38:41 -0400 |
| commit | 769cd7f03990bf1d03c1b57f0929be9c3158e463 (patch) | |
| tree | ad0568ffa6af79bd4c3ac9694018e9ca394c2fca /py_modules | |
| parent | 6991f81c9522ff61059f4cc8c84527f20b860032 (diff) | |
| download | decky-lsfg-vk-769cd7f03990bf1d03c1b57f0929be9c3158e463.tar.gz decky-lsfg-vk-769cd7f03990bf1d03c1b57f0929be9c3158e463.zip | |
refactor: expose explicit flatpak preparation
Diffstat (limited to 'py_modules')
| -rw-r--r-- | py_modules/lsfg_vk/plugin.py | 35 |
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): |
