From a6482c7d768b82174c1c0074c131788d2c83044a Mon Sep 17 00:00:00 2001 From: darken Date: Sat, 21 Feb 2026 19:02:36 +0100 Subject: [PATCH] feat(popup): Move signal quality indicator to top-right corner Always show signal quality when available instead of gating on debug mode. Position icon + percentage text in the top-right corner of the card, aligned with the title. Remove unused DebugSettings dependency. --- .../reaction/ui/popup/PopUpPodViewFactory.kt | 8 ++--- .../layout/popup_notification_dual_pods.xml | 36 +++++++++---------- .../layout/popup_notification_single_pods.xml | 36 +++++++++---------- 3 files changed, 38 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/eu/darken/capod/reaction/ui/popup/PopUpPodViewFactory.kt b/app/src/main/java/eu/darken/capod/reaction/ui/popup/PopUpPodViewFactory.kt index 26a4ee80..b1d8bd54 100644 --- a/app/src/main/java/eu/darken/capod/reaction/ui/popup/PopUpPodViewFactory.kt +++ b/app/src/main/java/eu/darken/capod/reaction/ui/popup/PopUpPodViewFactory.kt @@ -9,7 +9,6 @@ import androidx.core.view.isGone import androidx.core.view.isVisible import dagger.hilt.android.qualifiers.ApplicationContext import eu.darken.capod.R -import eu.darken.capod.common.debug.DebugSettings import eu.darken.capod.databinding.PopupNotificationDualPodsBinding import eu.darken.capod.databinding.PopupNotificationSinglePodsBinding import eu.darken.capod.pods.core.DualPodDevice @@ -24,7 +23,6 @@ import javax.inject.Inject class PopUpPodViewFactory @Inject constructor( @ApplicationContext private val appContext: Context, - private val debugSettings: DebugSettings, ) { private val context = ContextThemeWrapper(appContext, R.style.AppTheme) @@ -41,7 +39,8 @@ class PopUpPodViewFactory @Inject constructor( PopupNotificationDualPodsBinding.inflate(layoutInflater, parent, false).apply { podLabel.text = device.getLabel(context) signal.text = device.getSignalQuality(context) - signal.isGone = !debugSettings.isDebugModeEnabled.value + signalIcon.isGone = signal.text.isNullOrBlank() + signal.isGone = signal.text.isNullOrBlank() // Left val leftPercent = device.batteryLeftPodPercent @@ -74,7 +73,8 @@ class PopUpPodViewFactory @Inject constructor( headphonesIcon.imageTintList = null headphonesLabel.text = device.getLabel(context) signal.text = device.getSignalQuality(context) - signal.isGone = !debugSettings.isDebugModeEnabled.value + signalIcon.isGone = signal.text.isNullOrBlank() + signal.isGone = signal.text.isNullOrBlank() val headsetPercent = device.batteryHeadsetPercent headphonesBatteryIcon.setImageResource(getBatteryDrawable(headsetPercent)) diff --git a/app/src/main/res/layout/popup_notification_dual_pods.xml b/app/src/main/res/layout/popup_notification_dual_pods.xml index b5ab37c1..e5f63830 100644 --- a/app/src/main/res/layout/popup_notification_dual_pods.xml +++ b/app/src/main/res/layout/popup_notification_dual_pods.xml @@ -19,28 +19,26 @@ app:layout_constraintTop_toTopOf="parent" tools:text="AirPods Pro" /> - - + + + app:layout_constraintTop_toTopOf="@id/pod_label" + tools:text="29%" /> + app:layout_constraintTop_toBottomOf="@id/pod_label"> - - + + + app:layout_constraintTop_toTopOf="@id/headphones_label" + tools:text="29%" /> + app:layout_constraintTop_toBottomOf="@id/headphones_label" />