diff --git a/java/src/com/android/inputmethod/latin/Dictionary.java b/java/src/com/android/inputmethod/latin/Dictionary.java
index 99a04da723cc85fb67a6d4d8f409eb544d185ebf..00896c36427157c4348a192b459b0fd428f18615 100644
--- a/java/src/com/android/inputmethod/latin/Dictionary.java
+++ b/java/src/com/android/inputmethod/latin/Dictionary.java
@@ -31,9 +31,6 @@ public abstract class Dictionary {
      */
     protected static final int FULL_WORD_SCORE_MULTIPLIER = 2;
 
-    public static final int UNIGRAM = 0;
-    public static final int BIGRAM = 1;
-
     public static final int NOT_A_PROBABILITY = -1;
 
     /**
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index dc0868e7c38e8f4a25f1f3d1b81e0b9441c9efa2..e843848bc5ac85ef0040e89f4dd02fcedebfa8c0 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -71,7 +71,7 @@ public class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChang
     public static void onStartSuggestion(CharSequence previousWords) {
     }
 
-    public static void onAddSuggestedWord(String word, int typeId, int dataType) {
+    public static void onAddSuggestedWord(String word, String sourceDictionaryId) {
     }
 
     public static void onSetKeyboard(Keyboard kb) {
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index bde3a84038ecb49dede9bab85d8397f4fd773528..8caa837ef64ffeebe468a70e2ae659646e746972 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -57,6 +57,7 @@ public class Suggest {
     // If you add a type of dictionary, increment DIC_TYPE_LAST_ID
     // TODO: this value seems unused. Remove it?
     public static final int DIC_TYPE_LAST_ID = 6;
+    public static final String DICT_KEY_USER_TYPED = "user_typed";
     public static final String DICT_KEY_MAIN = "main";
     public static final String DICT_KEY_CONTACTS = "contacts";
     // User dictionary, the system-managed one.
@@ -232,7 +233,7 @@ public class Suggest {
                 ? typedWord.substring(0, typedWord.length() - mTrailingSingleQuotesCount)
                 : typedWord;
         // Treating USER_TYPED as UNIGRAM suggestion for logging now.
-        LatinImeLogger.onAddSuggestedWord(typedWord, Suggest.DIC_USER_TYPED, Dictionary.UNIGRAM);
+        LatinImeLogger.onAddSuggestedWord(typedWord, DICT_KEY_USER_TYPED);
 
         if (wordComposer.size() <= 1 && isCorrectionEnabled) {
             // At first character typed, search only the bigrams
@@ -253,8 +254,7 @@ public class Suggest {
                         localSuggestions.addAll(dictionary.getBigrams(wordComposer, lowerPrevWord));
                     }
                     for (final SuggestedWordInfo localSuggestion : localSuggestions) {
-                        addWord(localSuggestion, dicTypeId, Dictionary.BIGRAM,
-                                suggestionsContainer, consideredWord);
+                        addWord(localSuggestion, key, suggestionsContainer, consideredWord);
                     }
                 }
             }
@@ -278,8 +278,7 @@ public class Suggest {
                 final ArrayList<SuggestedWordInfo> localSuggestions = dictionary.getWords(
                         wordComposerForLookup, prevWordForBigram, proximityInfo);
                 for (final SuggestedWordInfo suggestion : localSuggestions) {
-                    addWord(suggestion, dicTypeId, Dictionary.UNIGRAM,
-                            suggestionsContainer, consideredWord);
+                    addWord(suggestion, key, suggestionsContainer, consideredWord);
                 }
             }
         }
@@ -401,10 +400,8 @@ public class Suggest {
     private static final SuggestedWordInfoComparator sSuggestedWordInfoComparator =
             new SuggestedWordInfoComparator();
 
-    public boolean addWord(final SuggestedWordInfo wordInfo,
-            final int dicTypeId, final int dataType,
+    public boolean addWord(final SuggestedWordInfo wordInfo, final String dictTypeKey,
             final ArrayList<SuggestedWordInfo> suggestions, final String consideredWord) {
-        int dataTypeForLog = dataType;
         final int prefMaxSuggestions = MAX_SUGGESTIONS;
 
         final CharSequence word = wordInfo.mWord;
@@ -426,8 +423,7 @@ public class Suggest {
         if (suggestions.size() > prefMaxSuggestions) {
             suggestions.remove(prefMaxSuggestions);
         }
-        LatinImeLogger.onAddSuggestedWord(transformedWordInfo.mWord.toString(), dicTypeId,
-                dataTypeForLog);
+        LatinImeLogger.onAddSuggestedWord(transformedWordInfo.mWord.toString(), dictTypeKey);
         return true;
     }