From e7705c83ed951af8b88fa65887d6bee329abbf64 Mon Sep 17 00:00:00 2001 From: geeksville Date: Wed, 8 Apr 2020 21:34:57 -0700 Subject: [PATCH] bt scan kinda works again --- .../java/com/geeksville/mesh/ui/BTScanScreen.kt | 13 +++++++++++++ .../main/java/com/geeksville/mesh/ui/Settings.kt | 2 -- app/src/main/res/layout/settings_fragment.xml | 13 +++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 app/src/main/java/com/geeksville/mesh/ui/Settings.kt diff --git a/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt b/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt index dc88c1921..842973124 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt @@ -241,10 +241,20 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + scanModel.errorText.observe(viewLifecycleOwner, Observer { errMsg -> + if (errMsg != null) { + scanStatusText.text = errMsg + } + }) + scanModel.devices.observe(viewLifecycleOwner, Observer { devices -> // Remove the old radio buttons and repopulate deviceRadioGroup.removeAllViews() + + var hasBonded = false // Have any of our devices been bonded devices.values.forEach { device -> + hasBonded = hasBonded || device.bonded + val b = RadioButton(requireActivity()) b.text = device.name b.id = View.generateViewId() @@ -257,6 +267,9 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { b.isChecked = scanModel.onSelected(device) } } + + // get rid of the warning text once at least one device is paired + warningNotPaired.visibility = if (hasBonded) View.GONE else View.VISIBLE }) } } diff --git a/app/src/main/java/com/geeksville/mesh/ui/Settings.kt b/app/src/main/java/com/geeksville/mesh/ui/Settings.kt deleted file mode 100644 index 2c62a20ad..000000000 --- a/app/src/main/java/com/geeksville/mesh/ui/Settings.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.geeksville.mesh.ui - diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/settings_fragment.xml index f4c349e9b..6d2055166 100644 --- a/app/src/main/res/layout/settings_fragment.xml +++ b/app/src/main/res/layout/settings_fragment.xml @@ -16,17 +16,19 @@ android:text="@string/warning_not_paired" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toBottomOf="@+id/deviceRadioGroup" /> + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent">