X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/1f0393876d891d0e32a995d0bf7259cc6505afdc..f11e373fdf34b810fc99c0f1abcb6bb093b119e6:/tools/actions/app_manager.py diff --git a/tools/actions/app_manager.py b/tools/actions/app_manager.py index 7bb19a2..cd66ab5 100644 --- a/tools/actions/app_manager.py +++ b/tools/actions/app_manager.py @@ -45,6 +45,25 @@ def remove(args): else: logging.error("WayDroid session is stopped") +def maybeLaunchLater(args, retry, launchNow): + if os.path.exists(tools.config.session_defaults["config_path"]): + session_cfg = tools.config.load_session() + + if session_cfg["session"]["state"] == "RUNNING": + launchNow() + elif session_cfg["session"]["state"] == "FROZEN" or session_cfg["session"]["state"] == "UNFREEZE": + session_cfg["session"]["state"] = "UNFREEZE" + tools.config.save_session(session_cfg) + while session_cfg["session"]["state"] != "RUNNING": + session_cfg = tools.config.load_session() + launchNow() + else: + logging.error("WayDroid container is {}".format( + session_cfg["session"]["state"])) + else: + logging.error("Starting waydroid session") + tools.actions.session_manager.start(args, retry) + def launch(args): def justLaunch(): platformService = IPlatform.get_service(args) @@ -61,23 +80,7 @@ def launch(args): 2, "policy_control", "immersive.full=*") else: logging.error("Failed to access IPlatform service") - - if os.path.exists(tools.config.session_defaults["config_path"]): - session_cfg = tools.config.load_session() - - if session_cfg["session"]["state"] == "RUNNING": - justLaunch() - elif session_cfg["session"]["state"] == "FROZEN" or session_cfg["session"]["state"] == "UNFREEZE": - session_cfg["session"]["state"] = "UNFREEZE" - tools.config.save_session(session_cfg) - while session_cfg["session"]["state"] != "RUNNING": - session_cfg = tools.config.load_session() - justLaunch() - else: - logging.error("WayDroid container is {}".format( - session_cfg["session"]["state"])) - else: - logging.error("WayDroid session is stopped") + maybeLaunchLater(args, launch, justLaunch) def list(args): if os.path.exists(tools.config.session_defaults["config_path"]): @@ -101,13 +104,15 @@ def list(args): logging.error("WayDroid session is stopped") def showFullUI(args): - platformService = IPlatform.get_service(args) - if platformService: - platformService.setprop("waydroid.active_apps", "Waydroid") - platformService.settingsPutString(2, "policy_control", "null*") - #HACK: Refresh display contents - statusBarService = IStatusBarService.get_service(args) - if statusBarService: - statusBarService.expand() - time.sleep(0.5) - statusBarService.collapse() + def justShow(): + platformService = IPlatform.get_service(args) + if platformService: + platformService.setprop("waydroid.active_apps", "Waydroid") + platformService.settingsPutString(2, "policy_control", "null*") + # HACK: Refresh display contents + statusBarService = IStatusBarService.get_service(args) + if statusBarService: + statusBarService.expand() + time.sleep(0.5) + statusBarService.collapse() + maybeLaunchLater(args, showFullUI, justShow)