X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/677710ab36bba687b04268704bd92b37638854d0..66c8343c4d2ea118601ba5d8ce52fa622cbcd665:/tools/interfaces/IHardware.py diff --git a/tools/interfaces/IHardware.py b/tools/interfaces/IHardware.py index f7984db..69539f1 100644 --- a/tools/interfaces/IHardware.py +++ b/tools/interfaces/IHardware.py @@ -12,10 +12,14 @@ TRANSACTION_enableBluetooth = 2 TRANSACTION_suspend = 3 TRANSACTION_reboot = 4 TRANSACTION_upgrade = 5 +TRANSACTION_upgrade2 = 6 def add_service(args, enableNFC, enableBluetooth, suspend, reboot, upgrade): 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( @@ -27,24 +31,33 @@ def add_service(args, enableNFC, enableBluetooth, suspend, reboot, upgrade): ret = enableNFC(arg1 != 0) local_response.append_int32(0) local_response.append_int32(ret) - if code == TRANSACTION_enableBluetooth: + elif code == TRANSACTION_enableBluetooth: status, arg1 = reader.read_int32() ret = enableBluetooth(arg1 != 0) local_response.append_int32(0) local_response.append_int32(ret) - if code == TRANSACTION_suspend: + elif code == TRANSACTION_suspend: suspend() local_response.append_int32(0) - if code == TRANSACTION_reboot: + elif code == TRANSACTION_reboot: reboot() local_response.append_int32(0) - if code == TRANSACTION_upgrade: + elif code == TRANSACTION_upgrade: arg1 = reader.read_string16() status, arg2 = reader.read_int32() arg3 = reader.read_string16() status, arg4 = reader.read_int32() upgrade(arg1, arg2, arg3, arg4) local_response.append_int32(0) + elif code == TRANSACTION_upgrade2: + arg1 = reader.read_string16() + status, arg2 = reader.read_int64() + arg3 = reader.read_string16() + status, arg4 = reader.read_int64() + upgrade(arg1, arg2, arg3, arg4) + local_response.append_int32(0) + else: + return local_response, -99999 # Some error unknown to binder to force a RemoteException return local_response, 0