1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.speech;
18 
19 /**
20  * Listener for model download events. It makes RecognitionService let callers know about the
21  * progress of model download requests.
22  *
23  * {@hide}
24  */
25 oneway interface IModelDownloadListener {
26     /**
27      * Called by RecognitionService when there's an update on the download progress.
28      */
onProgress(in int completedPercent)29     void onProgress(in int completedPercent);
30 
31     /**
32      * Called when RecognitionService completed the download and it can now be used to satisfy
33      * recognition requests.
34      */
onSuccess()35      void onSuccess();
36 
37     /**
38      * Called when RecognitionService scheduled the download but won't satisfy it immediately.
39      * There will be no further updates on this callback.
40      */
onScheduled()41     void onScheduled();
42 
43     /**
44      * A network or scheduling error occurred.
45      *
46      * @param error code is defined in {@link SpeechRecognizer}
47      */
onError(in int error)48     void onError(in int error);
49 }
50