From 631383e4cbd911d93069fdc2454592f7184e358f Mon Sep 17 00:00:00 2001 From: JoelVR2k Date: Wed, 12 Nov 2025 10:10:38 -0600 Subject: [PATCH 1/3] Fixed the UI battery percentage issue --- .../components/Live activities/DynamicIslandBattery.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift index e5ec173..6359190 100644 --- a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift +++ b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift @@ -185,6 +185,7 @@ struct DynamicIslandBatteryView: View { Text("\(Int32(levelBattery))%") .font(.callout) .foregroundStyle(.white) + .frame(width: 40, alignment: .trailing) } BatteryView( levelBattery: levelBattery, From 4d12c3e18ca1b11b094fb5eaf1b1728dde021896 Mon Sep 17 00:00:00 2001 From: JoelVR2k Date: Fri, 14 Nov 2025 10:58:10 -0600 Subject: [PATCH 2/3] Add new changes for the battery percentage inconsistency --- .../Live activities/DynamicIslandBattery.swift | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift index 6359190..baa0eac 100644 --- a/DynamicIsland/components/Live activities/DynamicIslandBattery.swift +++ b/DynamicIsland/components/Live activities/DynamicIslandBattery.swift @@ -182,10 +182,17 @@ struct DynamicIslandBatteryView: View { var body: some View { HStack { if Defaults[.showBatteryPercentage] { - Text("\(Int32(levelBattery))%") - .font(.callout) - .foregroundStyle(.white) - .frame(width: 40, alignment: .trailing) + ZStack(alignment: .trailing) { + Text("100%") + .font(.callout) + .hidden() + + Text("\(Int32(levelBattery))%") + .font(.callout) + .foregroundStyle(.white) + .lineLimit(1) + } + .fixedSize(horizontal: true, vertical: false) } BatteryView( levelBattery: levelBattery, From 5b2f6429f4d2fcf49cf2948f4abf0725a265c24d Mon Sep 17 00:00:00 2001 From: Hariharan Mudaliar Date: Sat, 15 Nov 2025 00:41:29 +0530 Subject: [PATCH 3/3] Added condition to handle overflow by eliminating the indicator in the open notch --- .../components/Notch/DynamicIslandHeader.swift | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/DynamicIsland/components/Notch/DynamicIslandHeader.swift b/DynamicIsland/components/Notch/DynamicIslandHeader.swift index 6204e9c..d5c4651 100644 --- a/DynamicIsland/components/Notch/DynamicIslandHeader.swift +++ b/DynamicIsland/components/Notch/DynamicIslandHeader.swift @@ -193,12 +193,15 @@ struct DynamicIslandHeader: View { } // Screen Recording Indicator - if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] { + if Defaults[.enableScreenRecordingDetection] && Defaults[.showRecordingIndicator] && !shouldSuppressStatusIndicators { RecordingIndicator() .frame(width: 30, height: 30) // Same size as other header elements } - if Defaults[.enableDoNotDisturbDetection] && Defaults[.showDoNotDisturbIndicator] && doNotDisturbManager.isDoNotDisturbActive { + if Defaults[.enableDoNotDisturbDetection] + && Defaults[.showDoNotDisturbIndicator] + && doNotDisturbManager.isDoNotDisturbActive + && !shouldSuppressStatusIndicators { FocusIndicator() .frame(width: 30, height: 30) .transition(.opacity) @@ -253,6 +256,16 @@ struct DynamicIslandHeader: View { } } +private extension DynamicIslandHeader { + var shouldSuppressStatusIndicators: Bool { + Defaults[.settingsIconInNotch] + && Defaults[.enableClipboardManager] + && Defaults[.showClipboardIcon] + && Defaults[.enableColorPickerFeature] + && Defaults[.enableTimerFeature] + } +} + #Preview { DynamicIslandHeader() .environmentObject(DynamicIslandViewModel())