]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/services/user_manager.py
All AppArmor profiles have been switched to the "enforce" mode.
[waydroid.git] / tools / services / user_manager.py
index 1171e85981b3e3eb54b0d4cbe2db0320d5ecee22..8ffb952e83369cfe6ae954a28b54ac4a0d9974f9 100644 (file)
@@ -9,7 +9,7 @@ from tools.interfaces import IPlatform
 
 stopping = False
 
-def start(args, unlocked_cb=None):
+def start(args, session, unlocked_cb=None):
 
     def makeDesktopFile(appInfo):
         showApp = False
@@ -27,6 +27,12 @@ def start(args, unlocked_cb=None):
             lines.append("Name=" + appInfo["name"])
             lines.append("Exec=waydroid app launch " + packageName)
             lines.append("Icon=" + args.waydroid_data + "/icons/" + packageName + ".png")
+            lines.append("Categories=X-WayDroid-App;")
+            lines.append("X-Purism-FormFactor=Workstation;Mobile;")
+            lines.append("Actions=app_settings;")
+            lines.append("[Desktop Action app_settings]")
+            lines.append("Name=App Settings")
+            lines.append("Exec=waydroid app intent android.settings.APPLICATION_DETAILS_SETTINGS package:" + packageName)
             desktop_file = open(desktop_file_path, "w")
             for line in lines:
                 desktop_file.write(line + "\n")
@@ -41,9 +47,11 @@ def start(args, unlocked_cb=None):
         lines = ["[Desktop Entry]", "Type=Application"]
         lines.append("Name=Waydroid")
         lines.append("Exec=waydroid show-full-ui")
+        lines.append("Categories=X-WayDroid-App;")
+        lines.append("X-Purism-FormFactor=Workstation;Mobile;")
         if hide:
             lines.append("NoDisplay=true")
-        lines.append("Icon=" + tools.config.tools_src + "/data/AppIcon.png")
+        lines.append("Icon=waydroid")
         desktop_file = open(desktop_file_path, "w")
         for line in lines:
             desktop_file.write(line + "\n")
@@ -52,9 +60,8 @@ def start(args, unlocked_cb=None):
 
     def userUnlocked(uid):
         logging.info("Android with user {} is ready".format(uid))
-        session_cfg = tools.config.load_session()
-        args.waydroid_data = session_cfg["session"]["waydroid_data"]
-        args.apps_dir = session_cfg["session"]["xdg_data_home"] + \
+        args.waydroid_data = session["waydroid_data"]
+        args.apps_dir = session["xdg_data_home"] + \
             "/applications/"
 
         platformService = IPlatform.get_service(args)
@@ -71,13 +78,13 @@ def start(args, unlocked_cb=None):
             else:
                 makeWaydroidDesktopFile(True)
         if unlocked_cb:
-            unlocked_cb(args)
+            unlocked_cb()
 
     def packageStateChanged(mode, packageName, uid):
         platformService = IPlatform.get_service(args)
         if platformService:
             appInfo = platformService.getAppInfo(packageName)
-            desktop_file_path = args.apps_dir + "/" + packageName + ".desktop"
+            desktop_file_path = args.apps_dir + "/waydroid." + packageName + ".desktop"
             if mode == 0:
                 # Package added
                 makeDesktopFile(appInfo)