X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/13360b5cf1bb8e714932170b41fbc1193e30c4f8..f966194db2f485d13042f4e9d40ed20fd549e88a:/tools/services/user_manager.py diff --git a/tools/services/user_manager.py b/tools/services/user_manager.py index 09b6bab..c33f189 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): @@ -21,21 +22,12 @@ def start(args, unlocked_cb=None): packageName = appInfo["packageName"] desktop_file_path = args.apps_dir + "/waydroid." + packageName + ".desktop" - #TODO: Drop me - if os.path.exists(desktop_file_path): - with open(desktop_file_path) as file: - filedata = file.read() - filedata = filedata.replace( - "Icon=" + args.old_waydroid_data, "Icon=" + args.waydroid_data) - with open(desktop_file_path, 'w') as file: - file.write(filedata) - os.chmod(desktop_file_path, 0o755) - if not os.path.exists(desktop_file_path): lines = ["[Desktop Entry]", "Type=Application"] lines.append("Name=" + appInfo["name"]) lines.append("Exec=waydroid app launch " + packageName) lines.append("Icon=" + args.waydroid_data + "/icons/" + packageName + ".png") + lines.append("X-Purism-FormFactor=Workstation;Mobile;") desktop_file = open(desktop_file_path, "w") for line in lines: desktop_file.write(line + "\n") @@ -50,6 +42,7 @@ def start(args, unlocked_cb=None): lines = ["[Desktop Entry]", "Type=Application"] lines.append("Name=Waydroid") lines.append("Exec=waydroid show-full-ui") + lines.append("X-Purism-FormFactor=Workstation;Mobile;") if hide: lines.append("NoDisplay=true") lines.append("Icon=" + tools.config.tools_src + "/data/AppIcon.png") @@ -63,9 +56,6 @@ 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"] - #TODO: Drop me - args.old_waydroid_data = session_cfg["session"]["host_user"] + \ - "/waydroid/data" args.apps_dir = session_cfg["session"]["xdg_data_home"] + \ "/applications/" @@ -102,12 +92,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()