diff --git a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java index e195a5406..55282c583 100644 --- a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java +++ b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java @@ -32,8 +32,6 @@ import java.lang.reflect.Field; import java.util.ArrayList; public final class SuggestionSpanUtils { - private static final String TAG = SuggestionSpanUtils.class.getSimpleName(); - // Note that SuggestionSpan.FLAG_AUTO_CORRECTION has been introduced // in API level 15 (Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1). public static final Field FIELD_FLAG_AUTO_CORRECTION = CompatUtils.getField( @@ -60,7 +58,7 @@ public final class SuggestionSpanUtils { } final Spannable spannable = new SpannableString(text); final SuggestionSpan suggestionSpan = new SuggestionSpan(context, null /* locale */, - new String[] {} /* suggestions */, (int)OBJ_FLAG_AUTO_CORRECTION, + new String[] {} /* suggestions */, OBJ_FLAG_AUTO_CORRECTION, SuggestionSpanPickedNotificationReceiver.class); spannable.setSpan(suggestionSpan, 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING); diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java index 62b905dc5..1d9b9991e 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java @@ -54,7 +54,6 @@ public final class DictionaryProvider extends ContentProvider { private static final String QUERY_PARAMETER_MAY_PROMPT_USER = "mayPrompt"; private static final String QUERY_PARAMETER_TRUE = "true"; private static final String QUERY_PARAMETER_DELETE_RESULT = "result"; - private static final String QUERY_PARAMETER_SUCCESS = "success"; private static final String QUERY_PARAMETER_FAILURE = "failure"; public static final String QUERY_PARAMETER_PROTOCOL_VERSION = "protocol"; private static final int NO_MATCH = 0; diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryService.java b/java/src/com/android/inputmethod/dictionarypack/DictionaryService.java index 939c25f10..41916b614 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionaryService.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionaryService.java @@ -50,8 +50,6 @@ import java.util.concurrent.TimeUnit; * to access, and mark the current state as such. */ public final class DictionaryService extends Service { - private static final String TAG = DictionaryService.class.getName(); - /** * The package name, to use in the intent actions. */ diff --git a/java/src/com/android/inputmethod/dictionarypack/EventHandler.java b/java/src/com/android/inputmethod/dictionarypack/EventHandler.java index d8aa33bb8..859f1b35b 100644 --- a/java/src/com/android/inputmethod/dictionarypack/EventHandler.java +++ b/java/src/com/android/inputmethod/dictionarypack/EventHandler.java @@ -21,8 +21,6 @@ import android.content.Context; import android.content.Intent; public final class EventHandler extends BroadcastReceiver { - private static final String TAG = EventHandler.class.getName(); - /** * Receives a intent broadcast. * diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index 8ead44c31..164910dd4 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -29,8 +29,8 @@ import com.android.inputmethod.latin.utils.RecapitalizeStatus; * * The input events are {@link #onLoadKeyboard()}, {@link #onSaveKeyboardState()}, * {@link #onPressKey(int,boolean,int)}, {@link #onReleaseKey(int,boolean)}, - * {@link #onCodeInput(int,int)}, {@link #onFinishSlidingInput()}, {@link #onCancelInput()}, - * {@link #onUpdateShiftState(int,int)}. + * {@link #onCodeInput(int,int)}, {@link #onFinishSlidingInput()}, + * {@link #onUpdateShiftState(int,int)}, {@link #onResetKeyboardStateToAlphabet()}. * * The actions are {@link SwitchActions}'s methods. */ diff --git a/java/src/com/android/inputmethod/keyboard/internal/MatrixUtils.java b/java/src/com/android/inputmethod/keyboard/internal/MatrixUtils.java index 4916a15b5..c1f374964 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/MatrixUtils.java +++ b/java/src/com/android/inputmethod/keyboard/internal/MatrixUtils.java @@ -30,7 +30,6 @@ import java.util.Arrays; public class MatrixUtils { private static final String TAG = MatrixUtils.class.getSimpleName(); public static class MatrixOperationFailedException extends Exception { - private static final String TAG = MatrixOperationFailedException.class.getSimpleName(); private static final long serialVersionUID = 4384485606788583829L; public MatrixOperationFailedException(String msg) { diff --git a/java/src/com/android/inputmethod/keyboard/internal/SmoothingUtils.java b/java/src/com/android/inputmethod/keyboard/internal/SmoothingUtils.java index e5665bcdd..10847f62d 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/SmoothingUtils.java +++ b/java/src/com/android/inputmethod/keyboard/internal/SmoothingUtils.java @@ -62,7 +62,7 @@ public class SmoothingUtils { for (int j = 0; j < COEFF_COUNT; ++j) { final int pow = i + j; for (int k = 0; k < N; ++k) { - m0[i][j] += (float) Math.pow((double) xs[k], pow); + m0[i][j] += (float) Math.pow(xs[k], pow); } } } diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java index 31a892e19..fa301b5a6 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java @@ -18,7 +18,6 @@ package com.android.inputmethod.latin; import android.content.Context; import android.content.SharedPreferences; -import android.content.pm.PackageManager; import android.content.res.AssetFileDescriptor; import android.util.Log; diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java index 000c25270..167c6915c 100644 --- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java +++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java @@ -982,6 +982,7 @@ public final class BinaryDictIOUtils { return null; } + private static final int HEADER_READING_BUFFER_SIZE = 16384; /** * Convenience method to read the header of a binary file. * @@ -991,7 +992,6 @@ public final class BinaryDictIOUtils { * @param offset The offset in the file where to start reading the data. * @param length The length of the data file. */ - private static final int HEADER_READING_BUFFER_SIZE = 16384; public static FileHeader getDictionaryFileHeader( final File file, final long offset, final long length) throws FileNotFoundException, IOException, UnsupportedFormatException { diff --git a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java index 5a2b24c58..118dc22b8 100644 --- a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java +++ b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java @@ -34,6 +34,8 @@ import java.util.LinkedList; public final class FusionDictionary implements Iterable { private static final boolean DBG = MakedictLog.DBG; + private static int CHARACTER_NOT_FOUND_INDEX = -1; + /** * A node of the dictionary, containing several CharGroups. * @@ -473,7 +475,7 @@ public final class FusionDictionary implements Iterable { CharGroup currentGroup = null; int differentCharIndex = 0; // Set by the loop to the index of the char that differs int nodeIndex = findIndexOfChar(mRoot, word[charIndex]); - while (CHARACTER_NOT_FOUND != nodeIndex) { + while (CHARACTER_NOT_FOUND_INDEX != nodeIndex) { currentGroup = currentNode.mData.get(nodeIndex); differentCharIndex = compareArrays(currentGroup.mChars, word, charIndex); if (ARRAYS_ARE_EQUAL != differentCharIndex @@ -485,7 +487,7 @@ public final class FusionDictionary implements Iterable { nodeIndex = findIndexOfChar(currentNode, word[charIndex]); } - if (-1 == nodeIndex) { + if (CHARACTER_NOT_FOUND_INDEX == nodeIndex) { // No node at this point to accept the word. Create one. final int insertionIndex = findInsertionIndex(currentNode, word[charIndex]); final CharGroup newGroup = new CharGroup( @@ -612,20 +614,18 @@ public final class FusionDictionary implements Iterable { return result >= 0 ? result : -result - 1; } - private static int CHARACTER_NOT_FOUND = -1; - /** * Find the index of a char in a node, if it exists. * * @param node the node to search in. * @param character the character to search for. - * @return the position of the character if it's there, or CHARACTER_NOT_FOUND = -1 else. + * @return the position of the character if it's there, or CHARACTER_NOT_FOUND_INDEX = -1 else. */ private static int findIndexOfChar(final Node node, int character) { final int insertionIndex = findInsertionIndex(node, character); - if (node.mData.size() <= insertionIndex) return CHARACTER_NOT_FOUND; + if (node.mData.size() <= insertionIndex) return CHARACTER_NOT_FOUND_INDEX; return character == node.mData.get(insertionIndex).mChars[0] ? insertionIndex - : CHARACTER_NOT_FOUND; + : CHARACTER_NOT_FOUND_INDEX; } /** @@ -640,7 +640,7 @@ public final class FusionDictionary implements Iterable { CharGroup currentGroup; do { int indexOfGroup = findIndexOfChar(node, codePoints[index]); - if (CHARACTER_NOT_FOUND == indexOfGroup) return null; + if (CHARACTER_NOT_FOUND_INDEX == indexOfGroup) return null; currentGroup = node.mData.get(indexOfGroup); if (codePoints.length - index < currentGroup.mChars.length) return null; diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDicitonary.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionary.java similarity index 93% rename from java/src/com/android/inputmethod/latin/personalization/PersonalizationDicitonary.java rename to java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionary.java index d3e2dfec9..19554d639 100644 --- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDicitonary.java +++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionary.java @@ -24,7 +24,7 @@ import android.content.Context; /** * This class is a dictionary for the personalized language model that uses binary dictionary. */ -public class PersonalizationDicitonary extends ExpandableBinaryDictionary { +public class PersonalizationDictionary extends ExpandableBinaryDictionary { private static final String NAME = "personalization"; public static void registerUpdateListener(PersonalizationDictionaryUpdateListener listener) { @@ -35,7 +35,7 @@ public class PersonalizationDicitonary extends ExpandableBinaryDictionary { private final String mLocale; // Singleton - private PersonalizationDicitonary(final Context context, final String locale) { + private PersonalizationDictionary(final Context context, final String locale) { super(context, getFilenameWithLocale(NAME, locale), Dictionary.TYPE_PERSONALIZATION); mLocale = locale; } diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDicitonary.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDictionary.java similarity index 92% rename from java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDicitonary.java rename to java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDictionary.java index 3e7772584..7bce97978 100644 --- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDicitonary.java +++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDictionary.java @@ -25,7 +25,7 @@ import android.content.SharedPreferences; /** * This class is a dictionary for the personalized prediction language model implemented in Java. */ -public class PersonalizationPredictionDicitonary extends ExpandableDictionary { +public class PersonalizationPredictionDictionary extends ExpandableDictionary { public static void registerUpdateListener(PersonalizationDictionaryUpdateListener listener) { // TODO: Implement } @@ -35,7 +35,7 @@ public class PersonalizationPredictionDicitonary extends ExpandableDictionary { private final SharedPreferences mPrefs; // Singleton - private PersonalizationPredictionDicitonary(final Context context, final String locale, + private PersonalizationPredictionDictionary(final Context context, final String locale, final SharedPreferences sp) { super(context, Dictionary.TYPE_PERSONALIZATION_PREDICTION_IN_JAVA); mLocale = locale; diff --git a/java/src/com/android/inputmethod/latin/settings/DebugSettings.java b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java index 34ea2279d..e675f428e 100644 --- a/java/src/com/android/inputmethod/latin/settings/DebugSettings.java +++ b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java @@ -32,7 +32,6 @@ import com.android.inputmethod.latin.utils.ApplicationUtils; public final class DebugSettings extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { - private static final String TAG = DebugSettings.class.getSimpleName(); public static final String PREF_DEBUG_MODE = "debug_mode"; public static final String PREF_FORCE_NON_DISTINCT_MULTITOUCH = "force_non_distinct_multitouch"; diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java index a6686d05d..8aafb0738 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java @@ -32,7 +32,6 @@ import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.InputTypeUtils; -import com.android.inputmethod.latin.utils.RunInLocale; import com.android.inputmethod.latin.utils.StringUtils; import java.util.ArrayList; diff --git a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryAddWordFragment.java b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryAddWordFragment.java index 30466bbe5..4fc132f68 100644 --- a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryAddWordFragment.java +++ b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryAddWordFragment.java @@ -103,7 +103,7 @@ public class UserDictionaryAddWordFragment extends Fragment /** * Callback for the framework when a menu option is pressed. * - * @param MenuItem the item that was pressed + * @param item the item that was pressed * @return false to allow normal menu processing to proceed, true to consume it here */ @Override diff --git a/java/src/com/android/inputmethod/latin/utils/CsvUtils.java b/java/src/com/android/inputmethod/latin/utils/CsvUtils.java index 159ebb1b9..36b927eea 100644 --- a/java/src/com/android/inputmethod/latin/utils/CsvUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/CsvUtils.java @@ -22,7 +22,7 @@ import java.util.ArrayList; /** * Utility methods for parsing and serializing Comma-Separated Values. The public APIs of this - * utility class are {@link #split(String)}, {@link #split(int,String)}, {@link #join(String)}, + * utility class are {@link #split(String)}, {@link #split(int,String)}, {@link #join(String...)}, * {@link #join(int,String...)}, and {@link #join(int,int[],String...)}. * * This class implements CSV parsing and serializing methods conforming to RFC 4180 with an diff --git a/java/src/com/android/inputmethod/latin/utils/UsabilityStudyLogUtils.java b/java/src/com/android/inputmethod/latin/utils/UsabilityStudyLogUtils.java index ef9cacf61..729a8723d 100644 --- a/java/src/com/android/inputmethod/latin/utils/UsabilityStudyLogUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/UsabilityStudyLogUtils.java @@ -191,7 +191,7 @@ public final class UsabilityStudyLogUtils { Log.w(USABILITY_TAG, e2); return; } - if (destFile == null || !destFile.exists()) { + if (!destFile.exists()) { Log.w(USABILITY_TAG, "Dest file doesn't exist."); return; } diff --git a/java/src/com/android/inputmethod/research/MainLogBuffer.java b/java/src/com/android/inputmethod/research/MainLogBuffer.java index 3482153b4..6df7c1708 100644 --- a/java/src/com/android/inputmethod/research/MainLogBuffer.java +++ b/java/src/com/android/inputmethod/research/MainLogBuffer.java @@ -119,9 +119,9 @@ public abstract class MainLogBuffer extends FixedLogBuffer { * * @param logUnits a LogUnit list to check for publishability * @param nGramSize the smallest n-gram acceptable to be published. if - * {@link ResearchLogger.IS_LOGGING_EVERYTHING} is true, then publish if there are more than + * {@link ResearchLogger#IS_LOGGING_EVERYTHING} is true, then publish if there are more than * {@code minNGramSize} words in the logUnits, otherwise wait. if {@link - * ResearchLogger.IS_LOGGING_EVERYTHING} is false, then ensure that there are exactly nGramSize + * ResearchLogger#IS_LOGGING_EVERYTHING} is false, then ensure that there are exactly nGramSize * words in the LogUnits. * * @return one of the {@code PUBLISHABILITY_*} result codes defined in this class. diff --git a/java/src/com/android/inputmethod/research/MotionEventReader.java b/java/src/com/android/inputmethod/research/MotionEventReader.java index fbfd9b531..3388645b7 100644 --- a/java/src/com/android/inputmethod/research/MotionEventReader.java +++ b/java/src/com/android/inputmethod/research/MotionEventReader.java @@ -315,16 +315,6 @@ public class MotionEventReader { return pointerCoords; } - /** - * Tests that {@code x} is uninitialized. - * - * Assumes that {@code x} will never be given a valid value less than 0, and that - * UNINITIALIZED_FLOAT is less than 0.0f. - */ - private boolean isUninitializedFloat(final float x) { - return x < 0.0f; - } - private void addMotionEventData(final ReplayData replayData, final int actionType, final long time, final PointerProperties[] pointerProperties, final PointerCoords[] pointerCoords) { diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java index ed047e13a..fc8615b71 100644 --- a/java/src/com/android/inputmethod/research/ResearchLogger.java +++ b/java/src/com/android/inputmethod/research/ResearchLogger.java @@ -180,7 +180,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang private ResearchLogDirectory mResearchLogDirectory; private SplashScreen mSplashScreen; - private Intent mUploadIntent; private Intent mUploadNowIntent; /* package for test */ LogUnit mCurrentLogUnit = new LogUnit(); @@ -233,7 +232,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang resetLogBuffers(); // Initialize external services - mUploadIntent = new Intent(mLatinIME, UploaderService.class); mUploadNowIntent = new Intent(mLatinIME, UploaderService.class); mUploadNowIntent.putExtra(UploaderService.EXTRA_UPLOAD_UNCONDITIONALLY, true); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { @@ -319,12 +317,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang restart(); } - private void setLoggingAllowed(final boolean enableLogging) { - if (mPrefs == null) return; - sIsLogging = enableLogging; - ResearchSettings.writeResearchLoggerEnabledFlag(mPrefs, enableLogging); - } - private void checkForEmptyEditor() { if (mLatinIME == null) { return; @@ -1261,10 +1253,23 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang private static final LogStatement LOGSTATEMENT_LATINIME_PICKSUGGESTIONMANUALLY = new LogStatement("LatinIMEPickSuggestionManually", true, false, "replacedWord", "index", "suggestion", "x", "y", "isBatchMode", "score", "kind", "sourceDict"); + /** + * Log a call to LatinIME.pickSuggestionManually(). + * + * @param replacedWord the typed word that this manual suggestion replaces. May not be null. + * @param index the index in the suggestion strip + * @param suggestion the committed suggestion. May not be null. + * @param isBatchMode whether this was input in batch mode, aka gesture. + * @param score the internal score of the suggestion, as output by the dictionary + * @param kind the kind of suggestion, as one of the SuggestedWordInfo#KIND_* constants + * @param sourceDict the source origin of this word, as one of the Dictionary#TYPE_* constants. + */ public static void latinIME_pickSuggestionManually(final String replacedWord, final int index, final String suggestion, final boolean isBatchMode, final int score, final int kind, final String sourceDict) { final ResearchLogger researchLogger = getInstance(); + // Note : suggestion can't be null here, because it's only called in a place where it + // can't be null. if (!replacedWord.equals(suggestion.toString())) { // The user chose something other than what was already there. researchLogger.setCurrentLogUnitContainsUserDeletions(); @@ -1273,7 +1278,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang final String scrubbedWord = scrubDigitsFromString(suggestion); researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_PICKSUGGESTIONMANUALLY, scrubDigitsFromString(replacedWord), index, - suggestion == null ? null : scrubbedWord, Constants.SUGGESTION_STRIP_COORDINATE, + scrubbedWord, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, isBatchMode, score, kind, sourceDict); researchLogger.commitCurrentLogUnitAsWord(scrubbedWord, Long.MAX_VALUE, isBatchMode); researchLogger.mStatistics.recordManualSuggestion(SystemClock.uptimeMillis());