implement third-party app launching from home screen

This commit is contained in:
2026-01-19 13:50:05 +01:00
parent ad28cf2360
commit d6b7504408
5 changed files with 214 additions and 33 deletions

View File

@@ -132,6 +132,16 @@ function renderThirdPartyApps()
print("[Home] Rendered " .. #installed_apps .. " third-party apps")
end
-- Get app info by package_id
function getAppInfo(package_id)
for _, app in ipairs(installed_apps) do
if app.package_id == package_id then
return app
end
end
return nil
end
-- Launch a third-party app
function launchThirdPartyApp(package_id)
print("[Home] Launching app: " .. package_id)
@@ -139,7 +149,22 @@ function launchThirdPartyApp(package_id)
if mosis and mosis.apps then
local success = mosis.apps.launch(package_id)
if success then
print("[Home] App launched: " .. package_id)
print("[Home] App sandbox started: " .. package_id)
-- Now load the app's UI document
local app_info = getAppInfo(package_id)
if app_info and app_info.install_path and app_info.entry_point then
local entry_path = app_info.install_path .. "/" .. app_info.entry_point
print("[Home] Loading app screen: " .. entry_path)
local loaded = loadScreen(entry_path)
if loaded then
print("[Home] App UI loaded: " .. package_id)
else
print("[Home] Failed to load app UI: " .. entry_path)
end
else
print("[Home] App info missing entry point: " .. package_id)
end
else
print("[Home] Failed to launch app: " .. package_id)
end