From 6f52daaa8747ebb861a54d7f9cc26f4051da8312 Mon Sep 17 00:00:00 2001 From: darken Date: Thu, 13 Jan 2022 20:02:15 +0100 Subject: [PATCH] Some ui highlighting for main pod device (e.g. yours) --- .../capod/main/ui/overview/OverviewFragmentVM.kt | 14 ++++++++++---- .../cards/pods/BasicSingleApplePodsCardVH.kt | 9 ++++++++- .../ui/overview/cards/pods/DualApplePodsCardVH.kt | 4 ++++ .../main/ui/overview/cards/pods/PodDeviceVH.kt | 2 ++ .../overview/cards/pods/SingleApplePodsCardVH.kt | 9 ++++++++- .../overview/cards/pods/UnknownPodDeviceCardVH.kt | 10 ++++++++-- 6 files changed, 40 insertions(+), 8 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 c7b17197..57ccb04c 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 @@ -92,6 +92,7 @@ class OverviewFragmentVM @Inject constructor( ) { tick, permissions, pods, isDebugMode, showAll -> val items = mutableListOf() + val mainPod = podMonitor.mainDevice.first() val now = Instant.now() pods .map { @@ -99,21 +100,26 @@ class OverviewFragmentVM @Inject constructor( is DualApplePods -> DualApplePodsCardVH.Item( now = now, device = it, - showDebug = isDebugMode + showDebug = isDebugMode, + isMainPod = it == mainPod, ) is SingleApplePods -> SingleApplePodsCardVH.Item( now = now, device = it, - showDebug = isDebugMode + showDebug = isDebugMode, + isMainPod = it == mainPod, ) is BasicSingleApplePods -> BasicSingleApplePodsCardVH.Item( now = now, device = it, - showDebug = isDebugMode + showDebug = isDebugMode, + isMainPod = it == mainPod, ) else -> UnknownPodDeviceCardVH.Item( now = now, - device = it + device = it, + showDebug = isDebugMode, + isMainPod = it == mainPod, ) } } diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/BasicSingleApplePodsCardVH.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/BasicSingleApplePodsCardVH.kt index 761b4903..b09a24f0 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/BasicSingleApplePodsCardVH.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/BasicSingleApplePodsCardVH.kt @@ -1,5 +1,6 @@ package eu.darken.capod.main.ui.overview.cards.pods +import android.graphics.Typeface import android.view.ViewGroup import androidx.core.view.isGone import eu.darken.capod.R @@ -22,7 +23,12 @@ class BasicSingleApplePodsCardVH(parent: ViewGroup) : override val onBindData = binding(payload = true) { item: Item -> val device = item.device - name.text = device.getLabel(context) + name.apply { + text = device.getLabel(context) + if (item.isMainPod) setTypeface(typeface, Typeface.BOLD) + else setTypeface(typeface, Typeface.NORMAL) + } + deviceIcon.setImageResource(device.iconRes) lastSeen.text = device.lastSeenFormatted(item.now) @@ -50,5 +56,6 @@ class BasicSingleApplePodsCardVH(parent: ViewGroup) : override val now: Instant, override val device: BasicSingleApplePods, override val showDebug: Boolean, + override val isMainPod: Boolean, ) : PodDeviceVH.Item } \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/DualApplePodsCardVH.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/DualApplePodsCardVH.kt index 72663684..a7b4d690 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/DualApplePodsCardVH.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/DualApplePodsCardVH.kt @@ -1,5 +1,6 @@ package eu.darken.capod.main.ui.overview.cards.pods +import android.graphics.Typeface import android.view.ViewGroup import eu.darken.capod.R import eu.darken.capod.common.lists.binding @@ -27,6 +28,8 @@ class DualApplePodsCardVH(parent: ViewGroup) : sb.append(" (${device.getDeviceColorLabel(context)})") } text = sb + if (item.isMainPod) setTypeface(typeface, Typeface.BOLD) + else setTypeface(typeface, Typeface.NORMAL) } deviceIcon.setImageResource(device.iconRes) @@ -89,5 +92,6 @@ class DualApplePodsCardVH(parent: ViewGroup) : override val now: Instant, override val device: DualApplePods, override val showDebug: Boolean, + override val isMainPod: Boolean, ) : PodDeviceVH.Item } \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/PodDeviceVH.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/PodDeviceVH.kt index c7a9ca5f..1a26d88c 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/PodDeviceVH.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/PodDeviceVH.kt @@ -23,6 +23,8 @@ abstract class PodDeviceVH( val showDebug: Boolean + val isMainPod: Boolean + override val stableId: Long get() = device.identifier.hashCode().toLong() override val payloadProvider: ((DifferItem, DifferItem) -> DifferItem?)? diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/SingleApplePodsCardVH.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/SingleApplePodsCardVH.kt index e7586563..a5ddbc70 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/SingleApplePodsCardVH.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/SingleApplePodsCardVH.kt @@ -1,5 +1,6 @@ package eu.darken.capod.main.ui.overview.cards.pods +import android.graphics.Typeface import android.view.ViewGroup import androidx.core.view.isGone import eu.darken.capod.R @@ -22,7 +23,12 @@ class SingleApplePodsCardVH(parent: ViewGroup) : override val onBindData = binding(payload = true) { item: Item -> val device = item.device - name.text = device.getLabel(context) + name.apply { + text = device.getLabel(context) + if (item.isMainPod) setTypeface(typeface, Typeface.BOLD) + else setTypeface(typeface, Typeface.NORMAL) + } + deviceIcon.setImageResource(device.iconRes) lastSeen.text = device.lastSeenFormatted(item.now) @@ -55,5 +61,6 @@ class SingleApplePodsCardVH(parent: ViewGroup) : override val now: Instant, override val device: SingleApplePods, override val showDebug: Boolean, + override val isMainPod: Boolean, ) : PodDeviceVH.Item } \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/UnknownPodDeviceCardVH.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/UnknownPodDeviceCardVH.kt index 031c46ef..84160345 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/UnknownPodDeviceCardVH.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/cards/pods/UnknownPodDeviceCardVH.kt @@ -1,5 +1,6 @@ package eu.darken.capod.main.ui.overview.cards.pods +import android.graphics.Typeface import android.view.ViewGroup import eu.darken.capod.R import eu.darken.capod.common.lists.binding @@ -21,7 +22,11 @@ class UnknownPodDeviceCardVH(parent: ViewGroup) : override val onBindData = binding(payload = true) { item -> val device = item.device - name.text = device.getLabel(context) + name.apply { + text = device.getLabel(context) + if (item.isMainPod) setTypeface(typeface, Typeface.BOLD) + else setTypeface(typeface, Typeface.NORMAL) + } lastSeen.text = device.lastSeenFormatted(item.now) @@ -33,6 +38,7 @@ class UnknownPodDeviceCardVH(parent: ViewGroup) : data class Item( override val now: Instant, override val device: PodDevice, - override val showDebug: Boolean = false + override val showDebug: Boolean = false, + override val isMainPod: Boolean = false, ) : PodDeviceVH.Item } \ No newline at end of file