]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/interfaces/IUserMonitor.py
upgrader: Clarify refused upgrade message
[waydroid.git] / tools / interfaces / IUserMonitor.py
index 0a16031bfc28e16bb8ae807f580d84c165c48445..04f5a3f8929336b141b273adac1bb73583bae21f 100644 (file)
@@ -12,7 +12,10 @@ TRANSACTION_packageStateChanged = 2
 
 def add_service(args, userUnlocked, packageStateChanged):
     helpers.drivers.loadBinderNodes(args)
-    serviceManager = gbinder.ServiceManager("/dev/" + args.BINDER_DRIVER)
+    try:
+        serviceManager = gbinder.ServiceManager("/dev/" + args.BINDER_DRIVER, args.SERVICE_MANAGER_PROTOCOL, args.BINDER_PROTOCOL)
+    except TypeError:
+        serviceManager = gbinder.ServiceManager("/dev/" + args.BINDER_DRIVER)
 
     def response_handler(req, code, flags):
         logging.debug(
@@ -23,12 +26,14 @@ def add_service(args, userUnlocked, packageStateChanged):
             status, arg1 = reader.read_int32()
             userUnlocked(arg1)
             local_response.append_int32(0)
-        if code == TRANSACTION_packageStateChanged:
+        elif code == TRANSACTION_packageStateChanged:
             status, arg1 = reader.read_int32()
             arg2 = reader.read_string16()
             status, arg3 = reader.read_int32()
             packageStateChanged(arg1, arg2, arg3)
             local_response.append_int32(0)
+        else:
+            return local_response, -99999 # Some error unknown to binder to force a RemoteException
 
         return local_response, 0