1823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang/*
2823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * Copyright (C) 2010 The Android Open Source Project
3823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang *
4823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * use this file except in compliance with the License. You may obtain a copy of
6823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * the License at
7823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang *
8823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * http://www.apache.org/licenses/LICENSE-2.0
9823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang *
10823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * Unless required by applicable law or agreed to in writing, software
11823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * License for the specific language governing permissions and limitations under
14823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * the License.
15823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang */
16823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
17823b6f3516076b92f78c3fc27037d24bb514e653Ying Wangpackage com.android.common.speech;
18823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
19823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang/**
20823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * Logging event constants used for Voice Search and VoiceIME. These are the
21823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * keys and values of extras to be specified in logging broadcast intents.
22823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * This class is used by clients of the android.speech APIs to log how the
23823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang * user interacts with the IME settings and speech recognition result.
24823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang */
25823b6f3516076b92f78c3fc27037d24bb514e653Ying Wangpublic class LoggingEvents {
26823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The name of the broadcast intent for logging.
27823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String ACTION_LOG_EVENT = "com.android.common.speech.LOG_EVENT";
28823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
29823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The extra key used for the name of the app being logged.
30823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String EXTRA_APP_NAME = "app_name";
31823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
32823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The extra key used for the name of the app issuing the VoiceSearch
33823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // or VoiceIME request
34823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String EXTRA_CALLING_APP_NAME = "";
35823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
36823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The extra key used for the event value. The possible event values depend
37823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // on the app being logged for, and are defined in the subclasses below.
38823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String EXTRA_EVENT = "extra_event";
39823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
40823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The extra key used to log the time in milliseconds at which the EXTRA_EVENT
41823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // occurred in the client.
42823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String EXTRA_TIMESTAMP = "timestamp";
43823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
44823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // The extra key used (with a boolean value of 'true') as a way to trigger a
45823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    // flush of the log events to the server.
46823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public static final String EXTRA_FLUSH = "flush";
47823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
48823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    /**
49823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * Logging event constants for voice search. Below are the extra values for
50823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
51823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * extras for some events that need to be included as additional fields in
52823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * the event. Note that this is not representative of *all* voice search
53823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * events - only the ones that need to be reported from outside the voice
54823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * search app, such as from Browser.
55823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     */
56823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public class VoiceSearch {
57823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        // The app name to be used for logging VoiceSearch events.
58823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String APP_NAME = "googlemobile";
59823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
60823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int RETRY = 0;
61823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
62823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int N_BEST_REVEAL = 1;
63823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
64823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int N_BEST_CHOOSE = 2;
65823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int
66823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
67823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int QUERY_UPDATED = 3;
68823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_QUERY_UPDATED_VALUE = "value";  // value should be String
69915260ea53a7363038cf65d851e2e2d616429868Mike LeBeau
70915260ea53a7363038cf65d851e2e2d616429868Mike LeBeau        public static final int RESULT_CLICKED = 4;
71823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    }
72823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
73823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    /**
74823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * Logging event constants for VoiceIME. Below are the extra values for
75823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
76823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * extras for some events that need to be included as additional fields in
77823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     * the event.
78823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang     */
79823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    public class VoiceIme {
80823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        // The app name to be used for logging VoiceIME events.
81823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String APP_NAME = "voiceime";
82823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
83823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int KEYBOARD_WARNING_DIALOG_SHOWN = 0;
84823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
85823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int KEYBOARD_WARNING_DIALOG_DISMISSED = 1;
86823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
87823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int KEYBOARD_WARNING_DIALOG_OK = 2;
88823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
89823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int KEYBOARD_WARNING_DIALOG_CANCEL = 3;
90823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
91823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int SETTINGS_WARNING_DIALOG_SHOWN = 4;
92823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
93823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int SETTINGS_WARNING_DIALOG_DISMISSED = 5;
94823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
95823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int SETTINGS_WARNING_DIALOG_OK = 6;
96823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
97823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int SETTINGS_WARNING_DIALOG_CANCEL = 7;
98823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
99823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int SWIPE_HINT_DISPLAYED = 8;
100823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
101823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int PUNCTUATION_HINT_DISPLAYED = 9;
102823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
103823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int CANCEL_DURING_LISTENING = 10;
104823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
105823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int CANCEL_DURING_WORKING = 11;
106823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
107823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int CANCEL_DURING_ERROR = 12;
108823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
109823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int ERROR = 13;
110823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_ERROR_CODE = "code";  // value should be int
111823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
112823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int START = 14;
113823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_START_LOCALE = "locale";  // value should be String
114823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_START_SWIPE = "swipe";  // value should be boolean
115cbb960ca7ccf450a743a315068cf60ccd95feccaYing Wang        // EXTRA_START_SWIPE is deprecated; switch to EXTRA_START_METHOD instead
116cbb960ca7ccf450a743a315068cf60ccd95feccaYing Wang        public static final String EXTRA_START_METHOD = "method";  // value should be int below
117cbb960ca7ccf450a743a315068cf60ccd95feccaYing Wang        public static final int START_METHOD_BUTTON = 1;
118cbb960ca7ccf450a743a315068cf60ccd95feccaYing Wang        public static final int START_METHOD_SWIPE = 2;
119cbb960ca7ccf450a743a315068cf60ccd95feccaYing Wang        public static final int START_METHOD_MOTION = 3;
120823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
121823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int VOICE_INPUT_DELIVERED = 15;
122823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
123823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int N_BEST_CHOOSE = 16;
124823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int
125823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
126823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int TEXT_MODIFIED = 17;
127d67de73dd8dadd3c59b91b4b50316ac3ae8bca25Maryam Garrett        public static final String EXTRA_AFTER_N_BEST_CHOOSE = "after";
128d67de73dd8dadd3c59b91b4b50316ac3ae8bca25Maryam Garrett        public static final String EXTRA_BEFORE_N_BEST_CHOOSE = "before";
1299af9e25599960f36c56a9808f98e3fa7b048c7acMaryam Garrett        public static final String EXTRA_TEXT_MODIFIED_LENGTH = "length";  // value should be int
130d86a1caf8f291e6d77f29aa837c43b57db646dfcMaryam Garrett        public static final String EXTRA_TEXT_REPLACED_LENGTH = "rlength";  // value should be int
131823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final String EXTRA_TEXT_MODIFIED_TYPE = "type";  // value should be int below
132823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int TEXT_MODIFIED_TYPE_CHOOSE_SUGGESTION = 1;
133823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int TEXT_MODIFIED_TYPE_TYPING_DELETION = 2;
134823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION = 3;
135823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION_PUNCTUATION = 4;
136823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
137823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int INPUT_ENDED = 18;
138823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
139823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int VOICE_INPUT_SETTING_ENABLED = 19;
140823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
141823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int VOICE_INPUT_SETTING_DISABLED = 20;
142823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
143823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang        public static final int IME_TEXT_ACCEPTED = 21;
144823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang    }
145823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang
146823b6f3516076b92f78c3fc27037d24bb514e653Ying Wang}
147