All Downloads are FREE. Search and download functionalities are using the official Maven repository.

chrome.idle.Idle.scala Maven / Gradle / Ivy

package chrome.idle

import chrome.ChromeAPI
import chrome.events.EventSource
import chrome.events.EventSourceImplicits._
import bindings._
import chrome.permissions.Permission.API
import chrome.utils.ErrorHandling._

import scala.concurrent.{Promise, Future}

object Idle extends ChromeAPI {

  val requiredPermissions: Set[API] = Set(API.Idle)

  val onStateChanged: EventSource[State] = bindings.Idle.onStateChanged

  def queryState(detectionIntervalInSeconds: Int): Future[State] = {
    val promise = Promise[State]()
    bindings.Idle.queryState(detectionIntervalInSeconds, (state: State) => {
      promise.complete(lastErrorOrValue(state))
    })
    promise.future
  }

  def setDetectionInterval(intervalInSeconds: Int): Unit =
    bindings.Idle.setDetectionInterval(intervalInSeconds)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy