Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1157)

Side by Side Diff: chrome/browser/resources/hotword/training_manager.js

Issue 1023063004: Hotword: Check for the existence of a speaker model. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Typo Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/resources/hotword/manager.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('hotword', function() { 5 cr.define('hotword', function() {
6 'use strict'; 6 'use strict';
7 7
8 /** 8 /**
9 * Class used to manage speaker training. Starts a hotwording session 9 * Class used to manage speaker training. Starts a hotwording session
10 * if training is on, and automatically restarts the detector when a 10 * if training is on, and automatically restarts the detector when a
(...skipping 10 matching lines...) Expand all
21 */ 21 */
22 this.finalizedSpeakerModelListener_ = 22 this.finalizedSpeakerModelListener_ =
23 this.handleFinalizeSpeakerModel_.bind(this); 23 this.handleFinalizeSpeakerModel_.bind(this);
24 24
25 hotword.BaseSessionManager.call(this, 25 hotword.BaseSessionManager.call(this,
26 stateManager, 26 stateManager,
27 hotword.constants.SessionSource.TRAINING); 27 hotword.constants.SessionSource.TRAINING);
28 } 28 }
29 29
30 /** 30 /**
31 * Handles a success event on mounting the file system event. 31 * Handles a success event on mounting the file system event and deletes
32 * the user data files.
32 * @param {FileSystem} fs The FileSystem object. 33 * @param {FileSystem} fs The FileSystem object.
33 * @private 34 * @private
34 */ 35 */
35 TrainingManager.onRequestFileSystemSuccess_ = function(fs) { 36 TrainingManager.deleteFiles_ = function(fs) {
36 fs.root.getFile(hotword.constants.SPEAKER_MODEL_FILE_NAME, {create: false}, 37 fs.root.getFile(hotword.constants.SPEAKER_MODEL_FILE_NAME, {create: false},
37 TrainingManager.deleteFile_, TrainingManager.fileErrorHandler_); 38 TrainingManager.deleteFile_, TrainingManager.fileErrorHandler_);
38 39
39 for (var i = 0; i < hotword.constants.NUM_TRAINING_UTTERANCES; ++i) { 40 for (var i = 0; i < hotword.constants.NUM_TRAINING_UTTERANCES; ++i) {
40 fs.root.getFile(hotword.constants.UTTERANCE_FILE_PREFIX + i + 41 fs.root.getFile(hotword.constants.UTTERANCE_FILE_PREFIX + i +
41 hotword.constants.UTTERANCE_FILE_EXTENSION, 42 hotword.constants.UTTERANCE_FILE_EXTENSION,
42 {create: false}, 43 {create: false},
43 TrainingManager.deleteFile_, TrainingManager.fileErrorHandler_); 44 TrainingManager.deleteFile_, TrainingManager.fileErrorHandler_);
44 } 45 }
45 }; 46 };
(...skipping 20 matching lines...) Expand all
66 /** 67 /**
67 * Handles a failure event on mounting the file system event. 68 * Handles a failure event on mounting the file system event.
68 * @param {FileError} e The FileError object. 69 * @param {FileError} e The FileError object.
69 * @private 70 * @private
70 */ 71 */
71 TrainingManager.fileErrorHandler_ = function(e) { 72 TrainingManager.fileErrorHandler_ = function(e) {
72 hotword.debug('File error: ' + e.code); 73 hotword.debug('File error: ' + e.code);
73 }; 74 };
74 75
75 /** 76 /**
77 * Handles a success event on mounting the file system checks for the
Anand Mistry (off Chromium) 2015/03/23 03:10:03 ...mounting the file system _and_ checks for...
kcarattini 2015/03/23 22:59:39 Done.
78 * existence of the speaker model.
79 * @param {FileSystem} fs The FileSystem object.
80 * @private
81 */
82 TrainingManager.speakerModelExists_ = function(fs) {
83 fs.root.getFile(hotword.constants.SPEAKER_MODEL_FILE_NAME, {create: false},
84 TrainingManager.sendSpeakerModelExistsResponse_,
85 TrainingManager.fileErrorHandler_);
86 };
87
88 /**
89 * Sends a response throught the HotwordPrivateApi indicating whether
Anand Mistry (off Chromium) 2015/03/23 03:10:03 throught
kcarattini 2015/03/23 22:59:40 Done.
90 * the speaker model exists.
91 * @param {FileEntry} fileEntry The FileEntry object.
92 * @private
93 */
94 TrainingManager.sendSpeakerModelExistsResponse_ = function(fileEntry) {
95 if (fileEntry.isFile) {
96 hotword.debug('File found: ' + fileEntry.fullPath);
97 if (hotword.DEBUG || window.localStorage['hotword.DEBUG']) {
98 fileEntry.getMetadata(function(md) {
99 hotword.debug('File size: ' + md.size);
100 });
101 }
102 }
103 chrome.hotwordPrivate.speakerModelExistsResult(fileEntry.isFile);
104 };
105
106 /**
76 * Handles a request to delete the speaker model. 107 * Handles a request to delete the speaker model.
77 */ 108 */
78 TrainingManager.handleDeleteSpeakerModel = function() { 109 TrainingManager.handleDeleteSpeakerModel = function() {
79 window.webkitRequestFileSystem(PERSISTENT, 110 window.webkitRequestFileSystem(PERSISTENT,
80 hotword.constants.FILE_SYSTEM_SIZE_BYTES, 111 hotword.constants.FILE_SYSTEM_SIZE_BYTES,
81 TrainingManager.onRequestFileSystemSuccess_, 112 TrainingManager.deleteFiles_,
82 TrainingManager.fileErrorHandler_); 113 TrainingManager.fileErrorHandler_);
83 }; 114 };
84 115
116 /**
117 * Handles a request for the speaker model existence.
118 */
119 TrainingManager.handleSpeakerModelExists = function() {
120 window.webkitRequestFileSystem(PERSISTENT,
121 hotword.constants.FILE_SYSTEM_SIZE_BYTES,
122 TrainingManager.speakerModelExists_,
123 TrainingManager.fileErrorHandler_);
124 };
125
85 TrainingManager.prototype = { 126 TrainingManager.prototype = {
86 __proto__: hotword.BaseSessionManager.prototype, 127 __proto__: hotword.BaseSessionManager.prototype,
87 128
88 /** @override */ 129 /** @override */
89 enabled: function() { 130 enabled: function() {
90 return this.stateManager.isTrainingEnabled(); 131 return this.stateManager.isTrainingEnabled();
91 }, 132 },
92 133
93 /** @override */ 134 /** @override */
94 updateListeners: function() { 135 updateListeners: function() {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 handleSpeakerModelSaved_: function() { 186 handleSpeakerModelSaved_: function() {
146 if (this.enabled()) 187 if (this.enabled())
147 chrome.hotwordPrivate.notifySpeakerModelSaved(); 188 chrome.hotwordPrivate.notifySpeakerModelSaved();
148 }, 189 },
149 }; 190 };
150 191
151 return { 192 return {
152 TrainingManager: TrainingManager 193 TrainingManager: TrainingManager
153 }; 194 };
154 }); 195 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/hotword/manager.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698