From 7df24f9c76efe25aa9f7d8cd351f1c93c51126b6 Mon Sep 17 00:00:00 2001 From: darken Date: Thu, 20 Jan 2022 15:52:12 +0100 Subject: [PATCH] Fix device cards being shown even if Bluetooth is disabled. --- .../main/ui/overview/OverviewFragmentVM.kt | 65 ++++++++++--------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragmentVM.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragmentVM.kt index 937abeac..2d090877 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragmentVM.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragmentVM.kt @@ -108,37 +108,6 @@ class OverviewFragmentVM @Inject constructor( val items = mutableListOf() val mainPod = podMonitor.mainDevice.first() - val now = Instant.now() - pods - .map { - when (it) { - is DualApplePods -> DualApplePodsCardVH.Item( - now = now, - device = it, - showDebug = isDebugMode, - isMainPod = it == mainPod, - ) - is SingleApplePods -> SingleApplePodsCardVH.Item( - now = now, - device = it, - showDebug = isDebugMode, - isMainPod = it == mainPod, - ) - is BasicSingleApplePods -> BasicSingleApplePodsCardVH.Item( - now = now, - device = it, - showDebug = isDebugMode, - isMainPod = it == mainPod, - ) - else -> UnknownPodDeviceCardVH.Item( - now = now, - device = it, - showDebug = isDebugMode, - isMainPod = it == mainPod, - ) - } - } - .run { items.addAll(this) } permissions .map { perm -> @@ -157,6 +126,40 @@ class OverviewFragmentVM @Inject constructor( } } + if (permissions.isEmpty() && isBluetoothEnabled) { + pods + .map { + val now = Instant.now() + when (it) { + is DualApplePods -> DualApplePodsCardVH.Item( + now = now, + device = it, + showDebug = isDebugMode, + isMainPod = it == mainPod, + ) + is SingleApplePods -> SingleApplePodsCardVH.Item( + now = now, + device = it, + showDebug = isDebugMode, + isMainPod = it == mainPod, + ) + is BasicSingleApplePods -> BasicSingleApplePodsCardVH.Item( + now = now, + device = it, + showDebug = isDebugMode, + isMainPod = it == mainPod, + ) + else -> UnknownPodDeviceCardVH.Item( + now = now, + device = it, + showDebug = isDebugMode, + isMainPod = it == mainPod, + ) + } + } + .run { items.addAll(this) } + } + items } .catch { errorEvents.postValue(it) }