// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. cr.define('hotword', function() { 'use strict'; /** * Class used to manage always-on hotwording. Automatically starts hotwording * on startup, if always-on is enabled, and starts/stops hotwording at * appropriate times. * @param {!hotword.StateManager} stateManager * @constructor * @extends {hotword.BaseSessionManager} */ function AlwaysOnManager(stateManager) { hotword.BaseSessionManager.call(this, stateManager, hotword.constants.SessionSource.ALWAYS); } AlwaysOnManager.prototype = { __proto__: hotword.BaseSessionManager.prototype, /** @override */ enabled: function() { return this.stateManager.isAlwaysOnEnabled(); }, /** @override */ updateListeners: function() { hotword.BaseSessionManager.prototype.updateListeners.call(this); if (this.enabled()) this.startSession(); } }; return { AlwaysOnManager: AlwaysOnManager }; });