update smartdock
parent
59ad317684
commit
dbf630ba7e
@ -1,10 +1,52 @@
|
|||||||
try:
|
import re
|
||||||
import dbus
|
import dbus
|
||||||
except ModuleNotFoundError:
|
from tools.helper import run
|
||||||
pass
|
|
||||||
|
|
||||||
def DBusContainerService(object_path="/ContainerManager", intf="id.waydro.ContainerManager"):
|
def DBusContainerService(object_path="/ContainerManager", intf="id.waydro.ContainerManager"):
|
||||||
return dbus.Interface(dbus.SystemBus().get_object("id.waydro.Container", object_path), intf)
|
return dbus.Interface(dbus.SystemBus().get_object("id.waydro.Container", object_path), intf)
|
||||||
|
|
||||||
def DBusSessionService(object_path="/SessionManager", intf="id.waydro.SessionManager"):
|
def DBusSessionService(object_path="/SessionManager", intf="id.waydro.SessionManager"):
|
||||||
return dbus.Interface(dbus.SessionBus().get_object("id.waydro.Session", object_path), intf)
|
return dbus.Interface(dbus.SessionBus().get_object("id.waydro.Session", object_path), intf)
|
||||||
|
|
||||||
|
def use_dbus():
|
||||||
|
try:
|
||||||
|
DBusContainerService()
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def use_overlayfs():
|
||||||
|
# with open("/var/lib/waydroid/waydroid.cfg") as f:
|
||||||
|
# cont=f.read()
|
||||||
|
# if re.search("mount_overlays[ \t]*=[ \t]*True", cont):
|
||||||
|
# return True
|
||||||
|
# return False
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_session():
|
||||||
|
return DBusContainerService().GetSession()
|
||||||
|
|
||||||
|
def stop():
|
||||||
|
if use_dbus():
|
||||||
|
session = DBusContainerService().GetSession()
|
||||||
|
if session:
|
||||||
|
DBusContainerService().Stop(False)
|
||||||
|
else:
|
||||||
|
run(["waydroid", "container", "stop"])
|
||||||
|
|
||||||
|
def start(*session):
|
||||||
|
if use_dbus() and session:
|
||||||
|
DBusContainerService().Start(session[0])
|
||||||
|
else:
|
||||||
|
run(["systemctl", "restart", "waydroid-container.service"])
|
||||||
|
|
||||||
|
def is_running():
|
||||||
|
if use_dbus():
|
||||||
|
if DBusContainerService().GetSession():
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return "Session:\tRUNNING" in run(["waydroid", "status"]).stdout.decode()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue