]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/props.py
hardware_manager: Validate upgrade zips against the saved ota channel
[waydroid.git] / tools / helpers / props.py
index bcc7c3465eb0e22dcf6d624b64c8f9ed64e7be4d..8b6ca5b6688502ed39932ce06c0751abf58d82af 100644 (file)
@@ -1,6 +1,7 @@
 # Copyright 2021 Oliver Smith
 # SPDX-License-Identifier: GPL-3.0-or-later
 from shutil import which
+import subprocess
 import logging
 import os
 import tools.helpers.run
@@ -10,7 +11,7 @@ from tools.interfaces import IPlatform
 def host_get(args, prop):
     if which("getprop") is not None:
         command = ["getprop", prop]
-        return tools.helpers.run.user(args, command, output_return=True).strip()
+        return subprocess.run(command, stdout=subprocess.PIPE).stdout.decode('utf-8').strip()
     else:
         return ""
 
@@ -20,31 +21,26 @@ def host_set(args, prop, value):
         tools.helpers.run.user(args, command)
 
 def get(args, prop):
-    if os.path.exists(tools.config.session_defaults["config_path"]):
-        session_cfg = tools.config.load_session()
-        if session_cfg["session"]["state"] == "RUNNING":
-            platformService = IPlatform.get_service(args)
-            if platformService:
-                return platformService.getprop(prop, "")
-            else:
-                logging.error("Failed to access IPlatform service")
-        else:
-            logging.error("WayDroid container is {}".format(
-                session_cfg["session"]["state"]))
+    platformService = IPlatform.get_service(args)
+    if platformService:
+        return platformService.getprop(prop, "")
     else:
-        logging.error("WayDroid session is stopped")
+        logging.error("Failed to access IPlatform service")
 
 def set(args, prop, value):
-    if os.path.exists(tools.config.session_defaults["config_path"]):
-        session_cfg = tools.config.load_session()
-        if session_cfg["session"]["state"] == "RUNNING":
-            platformService = IPlatform.get_service(args)
-            if platformService:
-                platformService.setprop(prop, value)
-            else:
-                logging.error("Failed to access IPlatform service")
-        else:
-            logging.error("WayDroid container is {}".format(
-                session_cfg["session"]["state"]))
+    platformService = IPlatform.get_service(args)
+    if platformService:
+        platformService.setprop(prop, value)
     else:
-        logging.error("WayDroid session is stopped")
+        logging.error("Failed to access IPlatform service")
+
+def file_get(args, file, prop):
+    with open(file) as build_prop:
+        for line in build_prop:
+            line = line.strip()
+            if len(line) == 0 or line[0] == "#":
+                continue
+            k,v = line.partition("=")[::2]
+            if k == prop:
+                return v
+    return ""