X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/7db0572153792058e073a9f84cd6a3a72dd56dec..dff88fd18aa3f843d336b72bf989057314ddbcc0:/tools/__init__.py diff --git a/tools/__init__.py b/tools/__init__.py index 7c948d4..2443e6e 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -31,15 +31,26 @@ def main(): args.sudo_timer = True args.timeout = 1800 - if not os.path.isfile(args.config): - if args.action and args.action != "init": - print('ERROR: WayDroid is not initialized, run "waydroid init"') - return 0 + if not actions.initializer.is_initialized(args): + if args.action and (args.action != "init" and args.action != "log"): + if not args.wait_for_init: + print('ERROR: WayDroid is not initialized, run "waydroid init"') + return 0 + + print('WayDroid waiting for initialization...') + while helpers.ipc.listen(channel="init") != "done": + pass + elif os.geteuid() == 0 and args.action == "init": if not os.path.exists(args.work): os.mkdir(args.work) else: - args.log = "/tmp/tools.log" + # This branch is taken if: + # - waydroid is not yet initialized + # - waydroid is invoked with no command or with log + if not os.path.exists(args.log): + # The log could have been already created if init was used and failed, if its not the case we use a temporary one + args.log = "/tmp/tools.log" tools_logging.init(args) @@ -80,6 +91,8 @@ def main(): actions.app_manager.remove(args) elif args.subaction == "launch": actions.app_manager.launch(args) + elif args.subaction == "intent": + actions.app_manager.intent(args) elif args.subaction == "list": actions.app_manager.list(args) else: