DO NOT MERGE: Logging for the VoiceSearch alternates
Log which voice-based alternates were selected, and what word in the recognition results were replaced. This change was commited in master, but was never merged into GB. Bug: 3243768 Change-Id: I8f624517990cc77c5cd714bd68ce32ac1b64489fmain
parent
6c13b1a6c7
commit
7a3a99429f
|
@ -1864,13 +1864,14 @@ public class LatinIME extends InputMethodService
|
|||
}
|
||||
|
||||
public void pickSuggestionManually(int index, CharSequence suggestion) {
|
||||
if (mAfterVoiceInput && mShowingVoiceSuggestions) mVoiceInput.logNBestChoose(index);
|
||||
List<CharSequence> suggestions = mCandidateView.getSuggestions();
|
||||
|
||||
if (mAfterVoiceInput && !mShowingVoiceSuggestions) {
|
||||
if (mAfterVoiceInput && mShowingVoiceSuggestions) {
|
||||
mVoiceInput.flushAllTextModificationCounters();
|
||||
// send this intent AFTER logging any prior aggregated edits.
|
||||
mVoiceInput.logTextModifiedByChooseSuggestion(suggestion.length());
|
||||
mVoiceInput.logTextModifiedByChooseSuggestion(suggestion.toString(), index,
|
||||
mWordSeparators,
|
||||
getCurrentInputConnection());
|
||||
}
|
||||
|
||||
final boolean correcting = TextEntryState.isCorrecting();
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.inputmethod.voice;
|
||||
|
||||
import com.android.inputmethod.latin.EditingUtil;
|
||||
import com.android.inputmethod.latin.R;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
|
@ -30,6 +31,7 @@ import android.speech.RecognitionListener;
|
|||
import android.speech.SpeechRecognizer;
|
||||
import android.speech.RecognizerIntent;
|
||||
import android.util.Log;
|
||||
import android.view.inputmethod.InputConnection;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
|
||||
|
@ -423,8 +425,14 @@ public class VoiceInput implements OnClickListener {
|
|||
mLogger.textModifiedByTypingDeletion(length);
|
||||
}
|
||||
|
||||
public void logTextModifiedByChooseSuggestion(int length) {
|
||||
mLogger.textModifiedByChooseSuggestion(length);
|
||||
public void logTextModifiedByChooseSuggestion(String suggestion, int index,
|
||||
String wordSeparators, InputConnection ic) {
|
||||
EditingUtil.Range range = new EditingUtil.Range();
|
||||
String wordToBeReplaced = EditingUtil.getWordAtCursor(ic, wordSeparators, range);
|
||||
// If we enable phrase-based alternatives, only send up the first word
|
||||
// in suggestion and wordToBeReplaced.
|
||||
mLogger.textModifiedByChooseSuggestion(suggestion.length(), wordToBeReplaced.length(),
|
||||
index, wordToBeReplaced, suggestion);
|
||||
}
|
||||
|
||||
public void logKeyboardWarningDialogShown() {
|
||||
|
@ -455,10 +463,6 @@ public class VoiceInput implements OnClickListener {
|
|||
mLogger.voiceInputDelivered(length);
|
||||
}
|
||||
|
||||
public void logNBestChoose(int index) {
|
||||
mLogger.nBestChoose(index);
|
||||
}
|
||||
|
||||
public void logInputEnded() {
|
||||
mLogger.inputEnded();
|
||||
}
|
||||
|
|
|
@ -205,22 +205,20 @@ public class VoiceInputLogger {
|
|||
mContext.sendBroadcast(i);
|
||||
}
|
||||
|
||||
public void textModifiedByChooseSuggestion(int length) {
|
||||
public void textModifiedByChooseSuggestion(int suggestionLength, int replacedPhraseLength,
|
||||
int index, String before, String after) {
|
||||
setHasLoggingInfo(true);
|
||||
Intent i = newLoggingBroadcast(LoggingEvents.VoiceIme.TEXT_MODIFIED);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_TEXT_MODIFIED_LENGTH, length);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_TEXT_MODIFIED_TYPE,
|
||||
LoggingEvents.VoiceIme.TEXT_MODIFIED_TYPE_CHOOSE_SUGGESTION);
|
||||
LoggingEvents.VoiceIme.TEXT_MODIFIED_TYPE_CHOOSE_SUGGESTION);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_TEXT_MODIFIED_LENGTH, suggestionLength);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_TEXT_REPLACED_LENGTH, replacedPhraseLength);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_N_BEST_CHOOSE_INDEX, index);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_BEFORE_N_BEST_CHOOSE, before);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_AFTER_N_BEST_CHOOSE, after);
|
||||
mContext.sendBroadcast(i);
|
||||
}
|
||||
|
||||
public void nBestChoose(int index) {
|
||||
setHasLoggingInfo(true);
|
||||
Intent i = newLoggingBroadcast(LoggingEvents.VoiceIme.N_BEST_CHOOSE);
|
||||
i.putExtra(LoggingEvents.VoiceIme.EXTRA_N_BEST_CHOOSE_INDEX, index);
|
||||
mContext.sendBroadcast(i);
|
||||
}
|
||||
|
||||
public void inputEnded() {
|
||||
setHasLoggingInfo(true);
|
||||
mContext.sendBroadcast(newLoggingBroadcast(LoggingEvents.VoiceIme.INPUT_ENDED));
|
||||
|
|
Loading…
Reference in New Issue