[Rlog59b] Log CodeInput and KeyCode properly
- Fix function calls to happen at more resilient times - In the case of phantom spaces, ensure that the logStatement goes to the correct logUnit Change-Id: Ida8f6eba1e4f33d9f9b4735316e3c6316ed316c0main
parent
75e69753b7
commit
99931201d0
|
@ -1301,13 +1301,13 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
}
|
||||
|
||||
private void sendKeyCodePoint(final int code) {
|
||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||
ResearchLogger.latinIME_sendKeyCodePoint(code);
|
||||
}
|
||||
// TODO: Remove this special handling of digit letters.
|
||||
// For backward compatibility. See {@link InputMethodService#sendKeyChar(char)}.
|
||||
if (code >= '0' && code <= '9') {
|
||||
sendDownUpKeyEventForBackwardCompatibility(code - '0' + KeyEvent.KEYCODE_0);
|
||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||
ResearchLogger.latinIME_sendKeyCodePoint(code);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1327,6 +1327,9 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
// Implementation of {@link KeyboardActionListener}.
|
||||
@Override
|
||||
public void onCodeInput(final int primaryCode, final int x, final int y) {
|
||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||
ResearchLogger.latinIME_onCodeInput(primaryCode, x, y);
|
||||
}
|
||||
final long when = SystemClock.uptimeMillis();
|
||||
if (primaryCode != Constants.CODE_DELETE || when > mLastKeyTime + QUICK_PRESS) {
|
||||
mDeleteCount = 0;
|
||||
|
@ -1420,9 +1423,6 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
mEnteredText = null;
|
||||
}
|
||||
mConnection.endBatchEdit();
|
||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||
ResearchLogger.latinIME_onCodeInput(primaryCode, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
// Called from PointerTracker through the KeyboardActionListener interface
|
||||
|
@ -2324,6 +2324,9 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
public void promotePhantomSpace() {
|
||||
if (mSettings.getCurrent().shouldInsertSpacesAutomatically()) {
|
||||
sendKeyCodePoint(Constants.CODE_SPACE);
|
||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||
ResearchLogger.latinIME_promotePhantomSpace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1175,9 +1175,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
|||
/**
|
||||
* Log a call to LatinIME.sendKeyCodePoint().
|
||||
*
|
||||
* SystemResponse: The IME is simulating a hardware keypress. This happens for numbers; other
|
||||
* input typically goes through RichInputConnection.setComposingText() and
|
||||
* RichInputConnection.commitText().
|
||||
* SystemResponse: The IME is inserting text into the TextView for numbers, fixed strings, or
|
||||
* some other unusual mechanism.
|
||||
*/
|
||||
private static final LogStatement LOGSTATEMENT_LATINIME_SENDKEYCODEPOINT =
|
||||
new LogStatement("LatinIMESendKeyCodePoint", true, false, "code");
|
||||
|
@ -1190,6 +1189,24 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a call to LatinIME.promotePhantomSpace().
|
||||
*
|
||||
* SystemResponse: The IME is inserting a real space in place of a phantom space.
|
||||
*/
|
||||
private static final LogStatement LOGSTATEMENT_LATINIME_PROMOTEPHANTOMSPACE =
|
||||
new LogStatement("LatinIMEPromotPhantomSpace", false, false);
|
||||
public static void latinIME_promotePhantomSpace() {
|
||||
final ResearchLogger researchLogger = getInstance();
|
||||
final LogUnit logUnit;
|
||||
if (researchLogger.mMainLogBuffer == null) {
|
||||
logUnit = researchLogger.mCurrentLogUnit;
|
||||
} else {
|
||||
logUnit = researchLogger.mMainLogBuffer.peekLastLogUnit();
|
||||
}
|
||||
researchLogger.enqueueEvent(logUnit, LOGSTATEMENT_LATINIME_PROMOTEPHANTOMSPACE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a call to LatinIME.swapSwapperAndSpace().
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue