Remove non-main dictionary candidates

Change-Id: I9f33da674c2c2a0101671ba24424640ba3e695e5
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 4742810..c81da55 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -441,33 +441,38 @@
     public static void logOnManualSuggestion(String before, String after, int position
             , List<CharSequence> suggestions) {
         if (sLogEnabled) {
-            if (!sSuggestDicMap.containsKey(after)) {
+            // log punctuation
+            if (before.length() == 0 && after.length() == 1) {
+                sLatinImeLogger.sendLogToDropBox(ID_MANUALSUGGESTION, new String[] {
+                        before, after, String.valueOf(position), ""});
+            } else if (!sSuggestDicMap.containsKey(after)) {
                 if (DBG) {
                     Log.e(TAG, "logOnManualSuggestion was cancelled: came from unknown source.");
                 }
-                return;
-            }
-            int dicTypeId = sSuggestDicMap.get(after);
-            sLatinImeLogger.mManualSuggestCountPerDic[dicTypeId]++;
-            sSuggestDicMap.clear();
-            if (dicTypeId != Suggest.DIC_MAIN) {
-                if (DBG) {
-                    Log.d(TAG, "logOnManualSuggestion was cancelled: didn't come from main dic.");
+            } else {
+                int dicTypeId = sSuggestDicMap.get(after);
+                sLatinImeLogger.mManualSuggestCountPerDic[dicTypeId]++;
+                if (dicTypeId != Suggest.DIC_MAIN) {
+                    if (DBG) {
+                        Log.d(TAG, "logOnManualSuggestion was cancelled: didn't come from main dic.");
+                    }
+                } else {
+                    if (before.equals(after)) {
+                        before = "";
+                        after = "";
+                    }
+                    String[] strings = new String[3 + suggestions.size()];
+                    strings[0] = before;
+                    strings[1] = after;
+                    strings[2] = String.valueOf(position);
+                    for (int i = 0; i < suggestions.size(); ++i) {
+                        String s = suggestions.get(i).toString();
+                        strings[i + 3] = sSuggestDicMap.containsKey(s) ? s : "";
+                    }
+                    sLatinImeLogger.sendLogToDropBox(ID_MANUALSUGGESTION, strings);
                 }
-                return;
             }
-            if (before.equals(after)) {
-                before = "";
-                after = "";
-            }
-            String[] strings = new String[3 + suggestions.size()];
-            strings[0] = before;
-            strings[1] = after;
-            strings[2] = String.valueOf(position);
-            for (int i = 0; i < suggestions.size(); ++i) {
-                strings[i + 3] = suggestions.get(i).toString();
-            }
-            sLatinImeLogger.sendLogToDropBox(ID_MANUALSUGGESTION, strings);
+            sSuggestDicMap.clear();
         }
     }