]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/__init__.py
fix(shell): allow command to have arguments
[waydroid.git] / tools / __init__.py
index 13a6110b15ec0e266957376a4a5977d22bfb8271..65f0efc68be70abf7ecbbecd5b272c07c565ae54 100644 (file)
@@ -27,21 +27,26 @@ def main():
         args.cache = {}
         args.work = config.defaults["work"]
         args.config = args.work + "/waydroid.cfg"
-        args.log = args.work + "/tools.log"
+        args.log = args.work + "/waydroid.log"
         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
-            elif os.geteuid() == 0 and args.action == "init":
+        if os.geteuid() == 0:
+            if not os.path.exists(args.work):
                 os.mkdir(args.work)
-            else:
-                args.log = "/tmp/tools.log"
+        elif not os.path.exists(args.log):
+            args.log = "/tmp/tools.log"
 
         tools_logging.init(args)
 
+        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:
+                print('ERROR: WayDroid is not initialized, run "waydroid init"')
+                return 0
+
         # Initialize or require config
         if args.action == "init":
             actionNeedRoot(args.action)
@@ -63,7 +68,7 @@ def main():
                 actions.container_manager.start(args)
             elif args.subaction == "stop":
                 actions.container_manager.stop(args)
-            if args.subaction == "restart":
+            elif args.subaction == "restart":
                 actions.container_manager.restart(args)
             elif args.subaction == "freeze":
                 actions.container_manager.freeze(args)
@@ -79,6 +84,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:
@@ -102,13 +109,20 @@ def main():
             helpers.lxc.logcat(args)
         elif args.action == "show-full-ui":
             actions.app_manager.showFullUI(args)
+        elif args.action == "first-launch":
+            actions.remote_init_client(args)
+            if actions.initializer.is_initialized(args):
+                actions.app_manager.showFullUI(args)
         elif args.action == "status":
             actions.status.print_status(args)
         elif args.action == "log":
             if args.clear_log:
                 helpers.run.user(args, ["truncate", "-s", "0", args.log])
-            helpers.run.user(
-                args, ["tail", "-n", args.lines, "-F", args.log], output="tui")
+            try:
+                helpers.run.user(
+                    args, ["tail", "-n", args.lines, "-F", args.log], output="tui")
+            except KeyboardInterrupt:
+                pass
         else:
             logging.info("Run waydroid -h for usage information.")