]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/actions/session_manager.py
images: Decode http retrieve for older pythons
[waydroid.git] / tools / actions / session_manager.py
index 6d24ca9e71e9e43dbee2f78bf60ee239de3f6add..e1a0ba08fd1e5db1b6d3f65252098ef95e6a2ce7 100644 (file)
@@ -5,11 +5,12 @@ import os
 import time
 import signal
 import sys
+import shutil
 import tools.config
 from tools import services
 
 
-def start(args):
+def start(args, unlocked_cb=None):
     def signal_handler(sig, frame):
         stop(args)
         sys.exit(0)
@@ -20,6 +21,13 @@ def start(args):
 
     cfg = tools.config.load_session()
     waydroid_data = cfg["session"]["waydroid_data"]
+    #TODO: Drop me
+    old_user_waydroid = cfg["session"]["host_user"] + "/waydroid"
+    if os.path.isdir(old_user_waydroid):
+        if not os.path.isdir(waydroid_data):
+            shutil.move(old_user_waydroid, cfg["session"]["xdg_data_home"])
+        else:
+            shutil.rmtree(old_user_waydroid, ignore_errors=True)
     if not os.path.isdir(waydroid_data):
         os.makedirs(waydroid_data)
     dpi = tools.helpers.props.host_get(args, "ro.sf.lcd_density")
@@ -38,8 +46,10 @@ def start(args):
         session_cfg = tools.config.load_session()
         if container_state != session_cfg["session"]["state"]:
             if session_cfg["session"]["state"] == "RUNNING":
-                services.user_manager.start(args)
+                services.user_manager.start(args, unlocked_cb)
                 services.clipboard_manager.start(args)
+                if unlocked_cb:
+                    unlocked_cb = None
             elif session_cfg["session"]["state"] == "STOPPED":
                 services.user_manager.stop(args)
                 services.clipboard_manager.stop(args)