summaryrefslogtreecommitdiffstats
path: root/common/java/com/android/common/speech/LoggingEvents.java
blob: 23bb27986fac8aecf92af0c148d3348fd1e1c952 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
 * Copyright (C) 2010 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.common.speech;

/**
 * Logging event constants used for Voice Search and VoiceIME. These are the
 * keys and values of extras to be specified in logging broadcast intents.
 * This class is used by clients of the android.speech APIs to log how the
 * user interacts with the IME settings and speech recognition result.
 */
public class LoggingEvents {
    // The name of the broadcast intent for logging.
    public static final String ACTION_LOG_EVENT = "com.android.common.speech.LOG_EVENT";

    // The extra key used for the name of the app being logged.
    public static final String EXTRA_APP_NAME = "app_name";

    // The extra key used for the name of the app issuing the VoiceSearch
    // or VoiceIME request
    public static final String EXTRA_CALLING_APP_NAME = "";

    // The extra key used for the event value. The possible event values depend
    // on the app being logged for, and are defined in the subclasses below.
    public static final String EXTRA_EVENT = "extra_event";

    // The extra key used to log the time in milliseconds at which the EXTRA_EVENT
    // occurred in the client.
    public static final String EXTRA_TIMESTAMP = "timestamp";

    // The extra key used (with a boolean value of 'true') as a way to trigger a
    // flush of the log events to the server.
    public static final String EXTRA_FLUSH = "flush";

    /**
     * Logging event constants for voice search. Below are the extra values for
     * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
     * extras for some events that need to be included as additional fields in
     * the event. Note that this is not representative of *all* voice search
     * events - only the ones that need to be reported from outside the voice
     * search app, such as from Browser.
     */
    public class VoiceSearch {
        // The app name to be used for logging VoiceSearch events.
        public static final String APP_NAME = "googlemobile";

        public static final int RETRY = 0;

        public static final int N_BEST_REVEAL = 1;

        public static final int N_BEST_CHOOSE = 2;
        public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int

        public static final int QUERY_UPDATED = 3;
        public static final String EXTRA_QUERY_UPDATED_VALUE = "value";  // value should be String
        
        public static final int RESULT_CLICKED = 4;
    }

    /**
     * Logging event constants for VoiceIME. Below are the extra values for
     * {@link LoggingEvents#EXTRA_EVENT}, clustered with keys to additional
     * extras for some events that need to be included as additional fields in
     * the event.
     */
    public class VoiceIme {
        // The app name to be used for logging VoiceIME events.
        public static final String APP_NAME = "voiceime";

        public static final int KEYBOARD_WARNING_DIALOG_SHOWN = 0;

        public static final int KEYBOARD_WARNING_DIALOG_DISMISSED = 1;

        public static final int KEYBOARD_WARNING_DIALOG_OK = 2;

        public static final int KEYBOARD_WARNING_DIALOG_CANCEL = 3;

        public static final int SETTINGS_WARNING_DIALOG_SHOWN = 4;

        public static final int SETTINGS_WARNING_DIALOG_DISMISSED = 5;

        public static final int SETTINGS_WARNING_DIALOG_OK = 6;

        public static final int SETTINGS_WARNING_DIALOG_CANCEL = 7;

        public static final int SWIPE_HINT_DISPLAYED = 8;

        public static final int PUNCTUATION_HINT_DISPLAYED = 9;

        public static final int CANCEL_DURING_LISTENING = 10;

        public static final int CANCEL_DURING_WORKING = 11;

        public static final int CANCEL_DURING_ERROR = 12;

        public static final int ERROR = 13;
        public static final String EXTRA_ERROR_CODE = "code";  // value should be int

        public static final int START = 14;
        public static final String EXTRA_START_LOCALE = "locale";  // value should be String
        public static final String EXTRA_START_SWIPE = "swipe";  // value should be boolean
        // EXTRA_START_SWIPE is deprecated; switch to EXTRA_START_METHOD instead
        public static final String EXTRA_START_METHOD = "method";  // value should be int below
        public static final int START_METHOD_BUTTON = 1;
        public static final int START_METHOD_SWIPE = 2;
        public static final int START_METHOD_MOTION = 3;

        public static final int VOICE_INPUT_DELIVERED = 15;

        public static final int N_BEST_CHOOSE = 16;
        public static final String EXTRA_N_BEST_CHOOSE_INDEX = "index";  // value should be int

        public static final int TEXT_MODIFIED = 17;
        public static final String EXTRA_AFTER_N_BEST_CHOOSE = "after";
        public static final String EXTRA_BEFORE_N_BEST_CHOOSE = "before";
        public static final String EXTRA_TEXT_MODIFIED_LENGTH = "length";  // value should be int
        public static final String EXTRA_TEXT_REPLACED_LENGTH = "rlength";  // value should be int
        public static final String EXTRA_TEXT_MODIFIED_TYPE = "type";  // value should be int below
        public static final int TEXT_MODIFIED_TYPE_CHOOSE_SUGGESTION = 1;
        public static final int TEXT_MODIFIED_TYPE_TYPING_DELETION = 2;
        public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION = 3;
        public static final int TEXT_MODIFIED_TYPE_TYPING_INSERTION_PUNCTUATION = 4;

        public static final int INPUT_ENDED = 18;

        public static final int VOICE_INPUT_SETTING_ENABLED = 19;

        public static final int VOICE_INPUT_SETTING_DISABLED = 20;

        public static final int IME_TEXT_ACCEPTED = 21;
    }

}