X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/890950f7e8d296f4adc4881560b8122232b24b8c..1fbcd236d4ff4f13be6d17b016e84de054d075c9:/tools/services/user_manager.py diff --git a/tools/services/user_manager.py b/tools/services/user_manager.py index fc6552b..1171e85 100644 --- a/tools/services/user_manager.py +++ b/tools/services/user_manager.py @@ -7,6 +7,7 @@ import tools.config from tools.interfaces import IUserMonitor from tools.interfaces import IPlatform +stopping = False def start(args, unlocked_cb=None): @@ -53,8 +54,8 @@ def start(args, unlocked_cb=None): logging.info("Android with user {} is ready".format(uid)) session_cfg = tools.config.load_session() args.waydroid_data = session_cfg["session"]["waydroid_data"] - args.host_user = session_cfg["session"]["host_user"] - args.apps_dir = args.host_user + "/.local/share/applications/" + args.apps_dir = session_cfg["session"]["xdg_data_home"] + \ + "/applications/" platformService = IPlatform.get_service(args) if platformService: @@ -89,12 +90,17 @@ def start(args, unlocked_cb=None): os.remove(desktop_file_path) def service_thread(): - IUserMonitor.add_service(args, userUnlocked, packageStateChanged) + while not stopping: + IUserMonitor.add_service(args, userUnlocked, packageStateChanged) + global stopping + stopping = False args.user_manager = threading.Thread(target=service_thread) args.user_manager.start() def stop(args): + global stopping + stopping = True try: if args.userMonitorLoop: args.userMonitorLoop.quit()