import Foundation
import AlignerCore

final class DebugWindowActivationService: WindowActivationServiceProtocol {
    func activate(window: AlignerWindow) throws -> WindowActivationResult {
        switch ProcessInfo.processInfo.environment["ALIGNER_DEBUG_WINDOW_ACTIVATION_RESULT"] {
        case "windowNotFound":
            return .windowNotFound
        case "activationFailed":
            return .activationFailed
        case "unsupported":
            return .unsupported
        case "appActivatedOnly":
            return .appActivatedOnly
        default:
            break
        }

        if window.title.contains("App Activated Only") {
            return .appActivatedOnly
        }

        return window.isMinimized ? .restored : .activated
    }
}
