import AppKit @MainActorenum AdaptiveActivityConsentPresenter { private static var isPresenting = false @discardableResult static func presentIfNeeded(settings: SettingsStore) -> Bool { guard !SettingsStore.isRunningTests, !self.isPresenting, settings.shouldRequestAdaptiveActivityScanConsent else { return false } self.isPresenting = true defer { self.isPresenting = false } let alert = NSAlert() alert.alertStyle = .informational alert.messageText = L("adaptive_activity_consent_title") alert.informativeText = L("adaptive_activity_consent_message") alert.addButton(withTitle: L("adaptive_activity_consent_allow")) let declineButton = alert.addButton(withTitle: L("adaptive_activity_consent_decline")) declineButton.keyEquivalent = "\u{1B}" NSApp.activate(ignoringOtherApps: true) if alert.runModal() == .alertFirstButtonReturn { settings.adaptiveActivityScanConsent = .allowed } else { settings.adaptiveActivityScanConsent = .declined settings.refreshFrequency = .adaptive } return true }}
import AppKit
@MainActor
enum AdaptiveActivityConsentPresenter {
private static var isPresenting = false
@discardableResult
static func presentIfNeeded(settings: SettingsStore) -> Bool {
guard !SettingsStore.isRunningTests,
!self.isPresenting,
settings.shouldRequestAdaptiveActivityScanConsent
else { return false }
self.isPresenting = true
defer { self.isPresenting = false }
let alert = NSAlert()
alert.alertStyle = .informational
alert.messageText = L("adaptive_activity_consent_title")
alert.informativeText = L("adaptive_activity_consent_message")
alert.addButton(withTitle: L("adaptive_activity_consent_allow"))
let declineButton = alert.addButton(withTitle: L("adaptive_activity_consent_decline"))
declineButton.keyEquivalent = "\u{1B}"
NSApp.activate(ignoringOtherApps: true)
if alert.runModal() == .alertFirstButtonReturn {
settings.adaptiveActivityScanConsent = .allowed
} else {
settings.adaptiveActivityScanConsent = .declined
settings.refreshFrequency = .adaptive
}
return true
}
}