From 91cb9a6acf9cd19ae18094a418b18db33489d2a2 Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Sat, 15 Oct 2022 21:33:30 -0700 Subject: [PATCH] Fix errorprone warnings that should be errors This commit is part of a large scale change to fix errorprone errors that have been downgraded to warnings in the android source tree, so that they can be promoted to errors again. The full list of changes include the following, but not all will be present in any one individual commit: BadAnnotationImplementation BadShiftAmount BanJNDI BoxedPrimitiveEquality ComparableType ComplexBooleanConstant CollectionToArraySafeParameter ConditionalExpressionNumericPromotion DangerousLiteralNull DoubleBraceInitialization DurationFrom DurationTemporalUnit EmptyTopLevelDeclaration EqualsNull EqualsReference FormatString FromTemporalAccessor GetClassOnAnnotation GetClassOnClass HashtableContains IdentityBinaryExpression IdentityHashMapBoxing InstantTemporalUnit InvalidTimeZoneID InvalidZoneId IsInstanceIncompatibleType JUnitParameterMethodNotFound LockOnBoxedPrimitive MathRoundIntLong MislabeledAndroidString MisusedDayOfYear MissingSuperCall MisusedWeekYear ModifyingCollectionWithItself NoCanIgnoreReturnValueOnClasses NonRuntimeAnnotation NullableOnContainingClass NullTernary OverridesJavaxInjectableMethod ParcelableCreator PeriodFrom PreconditionsInvalidPlaceholder ProtoBuilderReturnValueIgnored ProtoFieldNullComparison RandomModInteger RectIntersectReturnValueIgnored ReturnValueIgnored SelfAssignment SelfComparison SelfEquals SizeGreaterThanOrEqualsZero StringBuilderInitWithChar TreeToString TryFailThrowable UnnecessaryCheckNotNull UnusedCollectionModifiedInPlace XorPower See https://errorprone.info/bugpatterns for more information on the checks. Bug: 253827323 Test: m RUN_ERROR_PRONE=true javac-check Change-Id: I454a105ae82484a2d19aff1808e8d9dd55ba64f4 --- java/src/com/android/inputmethod/keyboard/PointerTracker.java | 2 +- .../android/inputmethod/latin/utils/CursorAnchorInfoUtils.java | 2 +- .../keyboard/layout/expected/ExpectedKeyOutput.java | 2 +- .../android/inputmethod/latin/makedict/Ver2DictEncoder.java | 3 ++- .../latin/dicttool/BinaryDictOffdeviceUtilsTests.java | 2 +- .../inputmethod/latin/makedict/FusionDictionaryTest.java | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 9764cb389..c0ac1c054 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -281,7 +281,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element, if (DEBUG_LISTENER) { final String output = code == Constants.CODE_OUTPUT_TEXT ? key.getOutputText() : Constants.printableCode(code); - Log.d(TAG, String.format("[%d] onCodeInput: %4d %4d %s%s%s", mPointerId, x, y, + Log.d(TAG, String.format("[%d] onCodeInput: %4d %4d %s%s%s%s", mPointerId, x, y, output, ignoreModifierKey ? " ignoreModifier" : "", altersCode ? " altersCode" : "", key.isEnabled() ? "" : " disabled")); } diff --git a/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java b/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java index c90d30c42..41090c054 100644 --- a/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/CursorAnchorInfoUtils.java @@ -216,7 +216,7 @@ public final class CursorAnchorInfoUtils { if (isTopLeftVisible || isBottomRightVisible) { characterBoundsFlags |= CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION; } - if (!isTopLeftVisible || !isTopLeftVisible) { + if (!isTopLeftVisible || !isBottomRightVisible) { characterBoundsFlags |= CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION; } if (isRtl) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java index e7b0f091d..e2b98bc69 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java @@ -131,7 +131,7 @@ abstract class ExpectedKeyOutput { @Override boolean hasSameKeyOutput(final String text) { - return text.equals(text); + return mText.equals(text); } @Override diff --git a/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java index c63b972eb..b5694caa3 100644 --- a/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java +++ b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java @@ -34,6 +34,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; +import java.util.Objects; /** * An implementation of DictEncoder for version 2 binary dictionary. @@ -100,7 +101,7 @@ public class Ver2DictEncoder implements DictEncoder { Collections.sort(codePointOccurrenceArray, new Comparator>() { @Override public int compare(final Entry a, final Entry b) { - if (a.getValue() != b.getValue()) { + if (!Objects.equals(a.getValue(), b.getValue())) { return b.getValue().compareTo(a.getValue()); } return b.getKey().compareTo(a.getKey()); diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java index 84d36a0c3..d3ecc9154 100644 --- a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java +++ b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java @@ -162,7 +162,7 @@ public class BinaryDictOffdeviceUtilsTests extends TestCase { options.put("locale", "en_US"); options.put("version", Integer.toString(mRandom.nextInt())); // Add some random options for test - final int numberOfOptionsToAdd = mRandom.nextInt() % (MAX_NUMBER_OF_OPTIONS_TO_ADD + 1); + final int numberOfOptionsToAdd = mRandom.nextInt(MAX_NUMBER_OF_OPTIONS_TO_ADD + 1); for (int i = 0; i < numberOfOptionsToAdd; ++i) { options.put(sWords.get(2 * i), sWords.get(2 * 1 + 1)); } diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java index 626023920..901d0cef3 100644 --- a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java +++ b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java @@ -47,7 +47,7 @@ public class FusionDictionaryTest extends TestCase { */ private String generateWord(final Random random) { StringBuilder builder = new StringBuilder("a"); - int count = random.nextInt() % 30; + int count = random.nextInt(30); while (count > 0) { final long r = Math.abs(random.nextInt()); if (r < 0) continue;