import logging
import os
import traceback
-import subprocess
from . import actions
from . import config
args.sudo_timer = True
args.timeout = 1800
- if not actions.initializer.is_initialized(args):
- if args.action and (args.action not in ("init", "first-launch", "log")):
- if not args.wait_for_init:
- print('ERROR: WayDroid is not initialized, run "waydroid init"')
- return 0
+ if os.geteuid() == 0:
+ if not os.path.exists(args.work):
+ os.mkdir(args.work)
+ elif not os.path.exists(args.log):
+ args.log = "/tmp/tools.log"
- print('WayDroid waiting for initialization...')
- while helpers.ipc.listen(channel="init") != "done":
- pass
+ tools_logging.init(args)
- elif os.geteuid() == 0 and args.action == "init":
- if not os.path.exists(args.work):
- os.mkdir(args.work)
+ if not actions.initializer.is_initialized(args) and \
+ args.action and args.action not in ("init", "first-launch", "log"):
+ if args.wait_for_init:
+ actions.wait_for_init(args)
else:
- # 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)
+ print('ERROR: WayDroid is not initialized, run "waydroid init"')
+ return 0
# Initialize or require config
if args.action == "init":
elif args.action == "show-full-ui":
actions.app_manager.showFullUI(args)
elif args.action == "first-launch":
- subprocess.run(["pkexec", sys.argv[0], "init", "--gui"])
+ actions.remote_init_client(args)
if actions.initializer.is_initialized(args):
actions.app_manager.showFullUI(args)
elif args.action == "status":