From 4fbe6583682495608c71e1dace548c0e9d758cb6 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sun, 7 Dec 2025 11:38:46 +0000 Subject: [PATCH] Fix flatpak install check for applications --- .../app/prefs/ExternalApplicationType.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java index 22ab4eab3..232d8a931 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java @@ -125,6 +125,24 @@ public interface ExternalApplicationType extends PrefsValue { String getFlatpakId() throws Exception; + @Override + default boolean isAvailable() { + try (ShellControl pc = LocalShell.getShell().start()) { + if (getFlatpakId() != null) { + var app = FlatpakCache.getApp(getFlatpakId()); + if (app.isPresent()) { + return true; + } + } + + String name = getExecutable(); + return pc.view().findProgram(name).isPresent(); + } catch (Exception e) { + ErrorEventFactory.fromThrowable(e).omit().handle(); + return false; + } + } + @Override default void launch(CommandBuilder args) throws Exception { if (getFlatpakId() == null