Merge pull request #154 from Ebullioscopic/revamp/essentials

BugFix: Brightness Flash problem
This commit is contained in:
Hariharan Mudaliar 2025-12-08 00:51:29 +05:30 • committed by GitHub
commit ebc8482cbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 2 deletions

View file

@ -6,7 +6,7 @@ import Darwin
final class MemoryUsageMonitor { final class MemoryUsageMonitor {
static let shared = MemoryUsageMonitor() static let shared = MemoryUsageMonitor()
private let thresholdBytes: UInt64 = 300 * 1_024 * 1_024 private let thresholdBytes: UInt64 = 700 * 1_024 * 1_024
private let pollInterval: TimeInterval = 8 // Clamp within 5-10 seconds to limit battery impact private let pollInterval: TimeInterval = 8 // Clamp within 5-10 seconds to limit battery impact
private let restartCooldown: TimeInterval = 300 private let restartCooldown: TimeInterval = 300
private let logSampleInterval: TimeInterval = 300 private let logSampleInterval: TimeInterval = 300

View file

@ -475,7 +475,9 @@ final class SystemBrightnessController {
} }
func adjust(by delta: Float) { func adjust(by delta: Float) {
setBrightness(currentBrightness + delta) // Refresh baseline to avoid jumping if auto-brightness changed the level.
syncWithSystemBrightnessIfNeeded()
setBrightness(lastEmittedBrightness + delta)
} }
func setBrightness(_ value: Float) { func setBrightness(_ value: Float) {
@ -504,9 +506,22 @@ final class SystemBrightnessController {
emitBrightnessChange(value: brightness) emitBrightnessChange(value: brightness)
} }
private func syncWithSystemBrightnessIfNeeded() {
// Align our internal baseline with the actual system brightness so that
// subsequent adjustments apply deltas from the true value (important when
// auto-brightness has changed the level behind our back).
let systemLevel = currentBrightness
if abs(systemLevel - lastEmittedBrightness) > 0.001 {
emitBrightnessChange(value: systemLevel)
}
}
private func beginBrightnessAnimation(to target: Float) { private func beginBrightnessAnimation(to target: Float) {
brightnessAnimationTimer?.invalidate() brightnessAnimationTimer?.invalidate()
// Refresh baseline from system in case auto-brightness adjusted it.
syncWithSystemBrightnessIfNeeded()
let start = lastEmittedBrightness let start = lastEmittedBrightness
if abs(start - target) <= 0.0005 { if abs(start - target) <= 0.0005 {
applyBrightness(target) applyBrightness(target)