diff options
author | James Lemieux <jplemieux@google.com> | 2016-08-01 22:50:06 -0700 |
---|---|---|
committer | James Lemieux <jplemieux@google.com> | 2016-08-02 16:28:00 -0700 |
commit | bd250dfa5bdcd618c5dfd7f48b662cf4b51c31a2 (patch) | |
tree | 95b20361d75ed64c8737511135db6b7ebbb13ecc /src/com/android/deskclock/controller/DefaultVoiceController.java | |
parent | 3c3744a315faf0e2fe7d018028826ec557956018 (diff) |
Replace Voice class with VoiceController
Bug: 29538369
The static Voice class is now implemented as a delegate controller behind
the Controller singleton. This is a more natural location for the code and
prepares the code base for alternate implementations of the VoiceController
interface for testing purposes.
Change-Id: I0c9b669e4f47da7fb30b4b55177c039a7e8970e4
Diffstat (limited to 'src/com/android/deskclock/controller/DefaultVoiceController.java')
-rw-r--r-- | src/com/android/deskclock/controller/DefaultVoiceController.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/com/android/deskclock/controller/DefaultVoiceController.java b/src/com/android/deskclock/controller/DefaultVoiceController.java new file mode 100644 index 000000000..4329120b4 --- /dev/null +++ b/src/com/android/deskclock/controller/DefaultVoiceController.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.deskclock.controller; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.app.VoiceInteractor; +import android.app.VoiceInteractor.AbortVoiceRequest; +import android.app.VoiceInteractor.CompleteVoiceRequest; +import android.app.VoiceInteractor.Prompt; +import android.os.Build; + +@TargetApi(Build.VERSION_CODES.M) +class DefaultVoiceController implements VoiceController { + @Override + public void notifyVoiceSuccess(Activity activity, String message) { + final VoiceInteractor voiceInteractor = activity.getVoiceInteractor(); + if (voiceInteractor != null) { + final Prompt prompt = new Prompt(message); + voiceInteractor.submitRequest(new CompleteVoiceRequest(prompt, null)); + } + } + + @Override + public void notifyVoiceFailure(Activity activity, String message) { + final VoiceInteractor voiceInteractor = activity.getVoiceInteractor(); + if (voiceInteractor != null) { + final Prompt prompt = new Prompt(message); + voiceInteractor.submitRequest(new AbortVoiceRequest(prompt, null)); + } + } +}
\ No newline at end of file |