mirror of
https://github.com/markqvist/Sideband.git
synced 2025-11-29 19:56:39 -05:00
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""Start BLE devices scaning service."""
|
|
from able import (
|
|
BluetoothDispatcher,
|
|
require_bluetooth_enabled,
|
|
)
|
|
from jnius import autoclass
|
|
from kivy.app import App
|
|
from kivy.lang import Builder
|
|
|
|
|
|
kv = """
|
|
BoxLayout:
|
|
Button:
|
|
text: 'Start service'
|
|
on_press: app.ble_dispatcher.start_service()
|
|
Button:
|
|
text: 'Stop service'
|
|
on_press: app.ble_dispatcher.stop_service()
|
|
"""
|
|
|
|
|
|
class Dispatcher(BluetoothDispatcher):
|
|
@property
|
|
def service(self):
|
|
return autoclass("test.able.scanservice.ServiceAble")
|
|
|
|
@property
|
|
def activity(self):
|
|
return autoclass("org.kivy.android.PythonActivity").mActivity
|
|
|
|
# Need to turn on the adapter and obtain permissions, before service is started
|
|
@require_bluetooth_enabled
|
|
def start_service(self):
|
|
self.service.start(self.activity, "")
|
|
App.get_running_app().stop() # Can close the app, service will continue to run
|
|
|
|
def stop_service(self):
|
|
self.service.stop(self.activity)
|
|
|
|
|
|
class ServiceApp(App):
|
|
def build(self):
|
|
self.ble_dispatcher = Dispatcher()
|
|
return Builder.load_string(kv)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ServiceApp().run()
|