diff --git a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
index 198afebc02728dbebc16267b2e52508f1e097c3f..38735eccb55fd6a7d95276cbc0bf2fa6eb16293e 100644
--- a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
@@ -22,6 +22,10 @@ import com.android.inputmethod.latin.settings.SettingsValues;
 
 public final class StatsUtils {
 
+    private StatsUtils() {
+        // Intentional empty constructor.
+    }
+
     public static void onCreate(final SettingsValues settingsValues,
             RichInputMethodManager richImm) {
     }
@@ -50,4 +54,13 @@ public final class StatsUtils {
 
     public static void onRevertSwapPunctuation() {
     }
+
+    public static void onFinishInputView() {
+    }
+
+    public static void onCreateInputView() {
+    }
+
+    public static void onStartInputView(int inputType, int displayOrientation, boolean restarting) {
+    }
 }
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 67e2ca5c785f6f3ee1e59cf371f41c18fd3ce809..c853d2d68e891ba6cbca3eec2c3f68645e471d90 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -743,6 +743,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
 
     @Override
     public View onCreateInputView() {
+        StatsUtils.onCreateInputView();
         return mKeyboardSwitcher.onCreateInputView(mIsHardwareAcceleratedDrawingEnabled);
     }
 
@@ -775,6 +776,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
 
     @Override
     public void onFinishInputView(final boolean finishingInput) {
+        StatsUtils.onFinishInputView();
         mHandler.onFinishInputView(finishingInput);
     }
 
@@ -852,6 +854,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
 
         final boolean inputTypeChanged = !currentSettingsValues.isSameInputType(editorInfo);
         final boolean isDifferentTextField = !restarting || inputTypeChanged;
+
+        StatsUtils.onStartInputView(editorInfo.inputType,
+                Settings.getInstance().getCurrent().mDisplayOrientation,
+                !isDifferentTextField);
+
         if (isDifferentTextField) {
             mSubtypeSwitcher.updateParametersOnStartInputView();
         }