1 /*
2  * Copyright (C) 2010 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * 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, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 package com.android.common.speech;
18 
19 /**
20  * Logging event constants used for Voice Search and VoiceIME. These are the
21  * keys and values of extras to be specified in logging broadcast intents.
22  * This class is used by clients of the android.speech APIs to log how the
23  * user interacts with the IME settings and speech recognition result.
24  */
25 public class LoggingEvents {
26     // The name of the broadcast intent for logging.
27     public static final String ACTION_LOG_EVENT = "com.android.common.speech.LOG_EVENT";
28 
29     // The extra key used for the name of the app being logged.
30     public static final String EXTRA_APP_NAME = "app_name";
31 
32     // The extra key used for the name of the app issuing the VoiceSearch
33     // or VoiceIME request
34     public static final String EXTRA_CALLING_APP_NAME = "";
35 
36     // The extra key used for the event value. The possible event values depend
37     // on the app being logged for, and are defined in the subclasses below.
38     public static final String EXTRA_EVENT = "extra_event";
39 
40     // The extra key used to log the time in milliseconds at which the EXTRA_EVENT
41     // occurred in the client.
42     public static final String EXTRA_TIMESTAMP = "timestamp";
43 
44     // The extra key used (with a boolean value of 'true') as a way to trigger a
45     // flush of the log events to the server.
46     public static final String EXTRA_FLUSH = "flush";
47 
48     /**
49      * Logging event constants for voice search. Below are the extra values for
50      * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
51      * extras for some events that need to be included as additional fields in
52      * the event. Note that this is not representative of *all* voice search
53      * events - only the ones that need to be reported from outside the voice
54      * search app, such as from Browser.
55      */
56     public class VoiceSearch {
57         // The app name to be used for logging VoiceSearch events.
58         public static final String APP_NAME = "googlemobile";
59 
60         public static final int RETRY = 0;
61 
62         public static final int N_BEST_REVEAL = 1;
63 
64         public static final int N_BEST_CHOOSE = 2;
65         public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int
66 
67         public static final int QUERY_UPDATED = 3;
68         public static final String EXTRA_QUERY_UPDATED_VALUE = "value";  // value should be String
69 
70         public static final int RESULT_CLICKED = 4;
71     }
72 
73     /**
74      * Logging event constants for VoiceIME. Below are the extra values for
75      * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
76      * extras for some events that need to be included as additional fields in
77      * the event.
78      */
79     public class VoiceIme {
80         // The app name to be used for logging VoiceIME events.
81         public static final String APP_NAME = "voiceime";
82 
83         public static final int KEYBOARD_WARNING_DIALOG_SHOWN = 0;
84 
85         public static final int KEYBOARD_WARNING_DIALOG_DISMISSED = 1;
86 
87         public static final int KEYBOARD_WARNING_DIALOG_OK = 2;
88 
89         public static final int KEYBOARD_WARNING_DIALOG_CANCEL = 3;
90 
91         public static final int SETTINGS_WARNING_DIALOG_SHOWN = 4;
92 
93         public static final int SETTINGS_WARNING_DIALOG_DISMISSED = 5;
94 
95         public static final int SETTINGS_WARNING_DIALOG_OK = 6;
96 
97         public static final int SETTINGS_WARNING_DIALOG_CANCEL = 7;
98 
99         public static final int SWIPE_HINT_DISPLAYED = 8;
100 
101         public static final int PUNCTUATION_HINT_DISPLAYED = 9;
102 
103         public static final int CANCEL_DURING_LISTENING = 10;
104 
105         public static final int CANCEL_DURING_WORKING = 11;
106 
107         public static final int CANCEL_DURING_ERROR = 12;
108 
109         public static final int ERROR = 13;
110         public static final String EXTRA_ERROR_CODE = "code";  // value should be int
111 
112         public static final int START = 14;
113         public static final String EXTRA_START_LOCALE = "locale";  // value should be String
114         public static final String EXTRA_START_SWIPE = "swipe";  // value should be boolean
115         // EXTRA_START_SWIPE is deprecated; switch to EXTRA_START_METHOD instead
116         public static final String EXTRA_START_METHOD = "method";  // value should be int below
117         public static final int START_METHOD_BUTTON = 1;
118         public static final int START_METHOD_SWIPE = 2;
119         public static final int START_METHOD_MOTION = 3;
120 
121         public static final int VOICE_INPUT_DELIVERED = 15;
122 
123         public static final int N_BEST_CHOOSE = 16;
124         public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int
125 
126         public static final int TEXT_MODIFIED = 17;
127         public static final String EXTRA_AFTER_N_BEST_CHOOSE = "after";
128         public static final String EXTRA_BEFORE_N_BEST_CHOOSE = "before";
129         public static final String EXTRA_TEXT_MODIFIED_LENGTH = "length";  // value should be int
130         public static final String EXTRA_TEXT_REPLACED_LENGTH = "rlength";  // value should be int
131         public static final String EXTRA_TEXT_MODIFIED_TYPE = "type";  // value should be int below
132         public static final int TEXT_MODIFIED_TYPE_CHOOSE_SUGGESTION = 1;
133         public static final int TEXT_MODIFIED_TYPE_TYPING_DELETION = 2;
134         public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION = 3;
135         public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION_PUNCTUATION = 4;
136 
137         public static final int INPUT_ENDED = 18;
138 
139         public static final int VOICE_INPUT_SETTING_ENABLED = 19;
140 
141         public static final int VOICE_INPUT_SETTING_DISABLED = 20;
142 
143         public static final int IME_TEXT_ACCEPTED = 21;
144     }
145 
146 }
147