diff --git a/common/src/com/android/inputmethod/latin/common/CodePointUtils.java b/common/src/com/android/inputmethod/latin/common/CodePointUtils.java
index 38aba7bd20cc7892f10dfc708f09eed9b2478c90..592da5c1fbb791f3460c972cd08e5dfe1b6aaddc 100644
--- a/common/src/com/android/inputmethod/latin/common/CodePointUtils.java
+++ b/common/src/com/android/inputmethod/latin/common/CodePointUtils.java
@@ -16,9 +16,13 @@
 
 package com.android.inputmethod.latin.common;
 
+import com.android.inputmethod.annotations.UsedForTesting;
+
 import java.util.Random;
 
 // Utility methods related with code points used for tests.
+// TODO: Figure out where this class should be.
+@UsedForTesting
 public class CodePointUtils {
     private CodePointUtils() {
         // This utility class is not publicly instantiable.
@@ -60,6 +64,7 @@ public class CodePointUtils {
         0x00FF /* LATIN SMALL LETTER Y WITH DIAERESIS */
     };
 
+    @UsedForTesting
     public static int[] generateCodePointSet(final int codePointSetSize, final Random random) {
         final int[] codePointSet = new int[codePointSetSize];
         for (int i = codePointSet.length - 1; i >= 0; ) {
@@ -80,6 +85,7 @@ public class CodePointUtils {
     /**
      * Generates a random word.
      */
+    @UsedForTesting
     public static String generateWord(final Random random, final int[] codePointSet) {
         StringBuilder builder = new StringBuilder();
         // 8 * 4 = 32 chars max, but we do it the following way so as to bias the random toward
diff --git a/common/src/com/android/inputmethod/latin/common/Constants.java b/common/src/com/android/inputmethod/latin/common/Constants.java
index 0b3b014f9a2ce040581c3b4f5669b6f9516567cc..a0cbd2c3827159975530055ef47e6f91952611ef 100644
--- a/common/src/com/android/inputmethod/latin/common/Constants.java
+++ b/common/src/com/android/inputmethod/latin/common/Constants.java
@@ -300,7 +300,7 @@ public final class Constants {
 
     /**
      * Screen metrics (a.k.a. Device form factor) constants of
-     * {@link R.integer#config_screen_metrics}.
+     * {@link com.android.inputmethod.latin.R.integer#config_screen_metrics}.
      */
     public static final int SCREEN_METRICS_SMALL_PHONE = 0;
     public static final int SCREEN_METRICS_LARGE_PHONE = 1;
diff --git a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
index a3e4ad8331f506d9da09e9bcf4ffd164e432e30b..1a28bb1d5405f085b884a34d3729af0090428fa3 100644
--- a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
+++ b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
@@ -218,17 +218,17 @@ public class DeadKeyCombiner implements Combiner {
     @Nonnull
     private static Event createEventChainFromSequence(final @Nonnull CharSequence text,
             @Nonnull final Event originalEvent) {
-        if (text.length() <= 0) {
+        int index = text.length();
+        if (index <= 0) {
             return originalEvent;
         }
         Event lastEvent = null;
-        int codePoint = 0;
-        for (int i = text.length(); i > 0; i -= Character.charCount(codePoint)) {
-            codePoint = Character.codePointBefore(text, i);
-            final Event thisEvent = Event.createHardwareKeypressEvent(codePoint,
+        do {
+            final int codePoint = Character.codePointBefore(text, index);
+            lastEvent = Event.createHardwareKeypressEvent(codePoint,
                     originalEvent.mKeyCode, lastEvent, false /* isKeyRepeat */);
-            lastEvent = thisEvent;
-        }
+            index -= Character.charCount(codePoint);
+        } while (index > 0);
         return lastEvent;
     }
 
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
index f169641f0a70c795a1a7cd1f4c4f146a61d83d07..1c5dfa9fb26ff6c7bf25c56d30ac8532722ed8b6 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
@@ -33,7 +33,6 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.util.Arrays;
-import java.util.ArrayList;
 
 /**
  * Class grouping utilities for offline dictionary making.