]>
glassweightruler.freedombox.rocks Git - waydroid.git/blob - tools/interfaces/IStatusBarService.py
4 from tools
import helpers
7 INTERFACE
= "com.android.internal.statusbar.IStatusBarService"
8 SERVICE_NAME
= "statusbar"
10 TRANSACTION_expand
= 1
11 TRANSACTION_collapse
= 2
13 class IStatusBarService
:
14 def __init__(self
, remote
):
15 self
.client
= gbinder
.Client(remote
, INTERFACE
)
18 request
= self
.client
.new_request()
19 reply
, status
= self
.client
.transact_sync_reply(
20 TRANSACTION_expand
, request
)
23 logging
.error("Sending reply failed")
25 reader
= reply
.init_reader()
26 status
, exception
= reader
.read_int32()
28 logging
.error("Failed with code: {}".format(exception
))
31 request
= self
.client
.new_request()
32 reply
, status
= self
.client
.transact_sync_reply(
33 TRANSACTION_collapse
, request
)
36 logging
.error("Sending reply failed")
38 reader
= reply
.init_reader()
39 status
, exception
= reader
.read_int32()
41 logging
.error("Failed with code: {}".format(exception
))
43 def get_service(args
):
44 helpers
.drivers
.loadBinderNodes(args
)
45 serviceManager
= gbinder
.ServiceManager("/dev/" + args
.BINDER_DRIVER
)
48 remote
, status
= serviceManager
.get_service_sync(SERVICE_NAME
)
52 "Failed to get service {}, trying again...".format(SERVICE_NAME
))
54 remote
, status
= serviceManager
.get_service_sync(SERVICE_NAME
)
59 return IStatusBarService(remote
)