Chromium Code Reviews| Index: chrome/browser/resources/hotword_audio_verification/flow.js |
| diff --git a/chrome/browser/resources/hotword_audio_verification/flow.js b/chrome/browser/resources/hotword_audio_verification/flow.js |
| index 5a244e74aa43af5a204e5861dab083b847b3e59d..f2be7312ec1aa36379feae9ea628538fc1895b43 100644 |
| --- a/chrome/browser/resources/hotword_audio_verification/flow.js |
| +++ b/chrome/browser/resources/hotword_audio_verification/flow.js |
| @@ -11,13 +11,6 @@ |
| /** @const */ var SPEECH_TRAINING = 'speech-training-container'; |
| /** @const */ var FINISHED = 'finished-container'; |
| - /** @const */ var FLOWS = { |
| - HOTWORD_AND_AUDIO_HISTORY: [ |
| - HOTWORD_AUDIO_HISTORY, SPEECH_TRAINING, FINISHED], |
| - HOTWORD_ONLY: [HOTWORD_ONLY_START, SPEECH_TRAINING, FINISHED], |
| - AUDIO_HISTORY_ONLY: [AUDIO_HISTORY_START] |
| - }; |
| - |
| /** |
| * Class to control the page flow of the always-on hotword and |
| * Audio History opt-in process. |
| @@ -29,12 +22,15 @@ |
| } |
| /** |
| - * Gets the appropriate flow and displays its first page. |
| + * These flows correspond to the three LaunchModes as defined in |
| + * chrome/browser/search/hotword_service.h and should be kept in sync |
| + * with them. |
| */ |
| - Flow.prototype.startFlow = function() { |
| - this.currentFlow_ = getFlowForSetting_.apply(this); |
| - this.advanceStep(); |
| - }; |
| + Flow.FLOWS_ = [ |
|
benwells
2014/09/09 20:57:30
Was there a reason to put this on Flow instead of
kcarattini
2014/09/10 08:14:28
No, it was done while I was debugging. Moved back
|
| + [AUDIO_HISTORY_START], |
| + [HOTWORD_ONLY_START, SPEECH_TRAINING, FINISHED], |
| + [HOTWORD_AUDIO_HISTORY, SPEECH_TRAINING, FINISHED] |
| + ]; |
| /** |
| * Advances the current step. |
| @@ -42,7 +38,15 @@ |
| Flow.prototype.advanceStep = function() { |
| this.currentStepIndex_++; |
| if (this.currentStepIndex_ < this.currentFlow_.length) |
| - showStep_.apply(this); |
| + this.showStep_.apply(this); |
| + }; |
| + |
| + /** |
| + * Gets the appropriate flow and displays its first page. |
| + */ |
| + Flow.prototype.startFlow = function() { |
| + chrome.hotwordAudioVerificationPrivate.getLaunchState( |
| + this.getFlowForSetting_.bind(this)); |
| }; |
| // ---- private methods: |
| @@ -51,10 +55,9 @@ |
| * Gets the appropriate flow for the current configuration of settings. |
| * @private |
| */ |
| - getFlowForSetting_ = function() { |
| - // TODO(kcarattini): This should eventually return the correct flow for |
| - // the current settings state. |
| - return FLOWS.HOTWORD_AND_AUDIO_HISTORY; |
| + Flow.prototype.getFlowForSetting_ = function(state) { |
|
benwells
2014/09/09 20:57:30
I think this function should be called startFlowFo
kcarattini
2014/09/10 08:14:28
Done.
|
| + this.currentFlow_ = Flow.FLOWS_[state.launchMode]; |
| + this.advanceStep(); |
| }; |
| /** |
| @@ -62,7 +65,7 @@ |
| * also hides the previous step. |
| * @private |
| */ |
| - showStep_ = function() { |
| + Flow.prototype.showStep_ = function() { |
| var currentStep = this.currentFlow_[this.currentStepIndex_]; |
| var previousStep = null; |
| if (this.currentStepIndex_ > 0) |