// // CaffeinePlatformChannel.swift // Runner // // Created by Vadim Turko on 2025-05-11. // import Flutter public class CaffeinePlatformChannel: NSObject { let methodChannel: FlutterMethodChannel init(binaryMessenger: FlutterBinaryMessenger) { self.methodChannel = FlutterMethodChannel( name: "com.vodemn.lightmeter.CaffeinePlatformChannel.MethodChannel", binaryMessenger: binaryMessenger ) super.init() methodChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in switch call.method { case "isKeepScreenOn": result(UIApplication.shared.isIdleTimerDisabled) case "setKeepScreenOn": guard let keepOn = call.arguments as? Bool else { result(FlutterError(code: "invalid arguments", message: "Argument should be of type Bool for 'setKeepScreenOn' call", details: nil)) return } UIApplication.shared.isIdleTimerDisabled = keepOn result(true) default: result(FlutterMethodNotImplemented) } }) } }