diff --git a/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt b/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt index 6215005026a4c4497bdbeda0cadfa94b801a7645..b36befa56559ae3bf946979ba2bbef9d258df489 100644 --- a/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt +++ b/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt @@ -63,6 +63,11 @@ object ConnectionService { } fun connect(context: Context) { + if (isConnected()) { + gattListeners.values.map { it.onConnectionReady() } + return + } + // Use first BLE devices that is bonded val bondedDevices = BluetoothAdapter.getDefaultAdapter().bondedDevices.filter { it.address.startsWith( diff --git a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt index 93a46b3c58abc30517c4064f9d5e9098648209f1..911785c0e975e151155742192d8ce24d581b75b4 100644 --- a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt +++ b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt @@ -80,6 +80,11 @@ class MainFragment : Fragment(), GattListener { private fun showConnectedView() { + // The callback can happen when our UI is not visible + if (container_connected == null) { + return + } + activity?.runOnUiThread { container_connected.visibility = View.VISIBLE container_disconnected.visibility = View.GONE