import Foundation
import WebKit
import AVFoundation

class Background: NSObject, WKScriptMessageHandler {
    var player = try! AVAudioPlayer(contentsOf: Bundle.main.url(forResource: "www/sounds/login", withExtension: "wav")!)

    override init() {
        let session = AVAudioSession.sharedInstance();
        try! session.setCategory(AVAudioSession.Category.playback, options: .mixWithOthers)
        player.volume = 0
        player.numberOfLoops = -1;
        player.play()
    }

    func userContentController(_ controller: WKUserContentController, didReceive message: WKScriptMessage) {
        let data = message.body as! [String: AnyObject]
        let key = data["_id"] as! String
        switch(data["_type"] as! String) {
        case "start":
            player.play()
        case "stop":
            player.stop()
        default:
            message.webView!.evaluateJavaScript("nativeError('\(key)',new Error('Unknown message type'))")
            return
        }
        message.webView!.evaluateJavaScript("nativeMessage('\(key)')")
    }
}