Fix 2306814: Too aggressive suggesting names from my contacts list.

When there is more than one instance of a name in the Contacts, it
gets a very high weightage and can override corrections for very
high frequency words such as "the".

This fix prevents multiple occurences from increasing the frequency
of a contact and also from bumping it above 255, which is the frequency
of "the", "is", etc.
diff --git a/src/com/android/inputmethod/latin/ExpandableDictionary.java b/src/com/android/inputmethod/latin/ExpandableDictionary.java
index a136ee7..1589168 100644
--- a/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -105,8 +105,8 @@
         if (wordLength == depth + 1) {
             // Terminate this word
             childNode.terminal = true;
-            childNode.frequency += frequency; // If there are multiple similar words
-            if (childNode.frequency > 256) childNode.frequency = 256;
+            childNode.frequency = Math.max(frequency, childNode.frequency);
+            if (childNode.frequency > 255) childNode.frequency = 255;
             return;
         }
         if (childNode.children == null) {