From 017c057585b34a12fc855469619e066f00cec754 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sat, 16 Sep 2023 21:30:12 +0200 Subject: [PATCH] address some warnings --- .../inputmethod/keyboard/ProximityInfo.java | 9 +++------ .../compat/CursorAnchorInfoCompatWrapper.kt | 2 +- .../inputmethod/compat/EditorInfoCompatUtils.kt | 15 +++++---------- .../inputmethod/dictionarypack/MD5Calculator.kt | 5 ++--- .../inputmethod/event/InputTransaction.kt | 8 ++++---- .../keyboard/internal/AlphabetShiftState.java | 3 +++ .../internal/DrawingPreviewPlacerView.java | 2 +- .../GestureFloatingTextDrawingPreview.java | 8 +++----- .../GestureStrokeRecognitionPoints.java | 10 +++++----- .../internal/GestureTrailDrawingParams.java | 1 - .../internal/GestureTrailDrawingPoints.java | 5 ++--- .../internal/GestureTrailsDrawingPreview.java | 8 +++++--- .../keyboard/internal/KeyPreviewDrawParams.java | 6 ------ .../keyboard/internal/KeyboardIconsSet.java | 2 +- .../keyboard/internal/KeyboardParams.java | 15 ++++++--------- .../keyboard/internal/KeyboardState.java | 9 ++++++--- .../keyboard/internal/KeyboardTextsSet.java | 1 + .../keyboard/internal/KeyboardTextsTable.java | 2 +- .../keyboard/internal/MatrixUtils.java | 5 +++-- .../keyboard/internal/ModifierKeyState.java | 3 +++ .../internal/NonDistinctMultitouchHelper.java | 2 +- .../keyboard/internal/PointerTrackerQueue.java | 17 ++++++++--------- .../keyboard/internal/ShiftKeyState.java | 3 +++ .../internal/SlidingKeyInputDrawingPreview.java | 4 +++- .../keyboard/internal/SmoothingUtils.java | 4 ++-- .../keyboard/internal/UniqueKeysCache.java | 6 ++++-- .../latin/suggestions/SuggestionStripView.java | 10 +++++----- 27 files changed, 81 insertions(+), 84 deletions(-) diff --git a/app/src/main/java/com/android/inputmethod/keyboard/ProximityInfo.java b/app/src/main/java/com/android/inputmethod/keyboard/ProximityInfo.java index abbb53f5d..ecd7ba365 100644 --- a/app/src/main/java/com/android/inputmethod/keyboard/ProximityInfo.java +++ b/app/src/main/java/com/android/inputmethod/keyboard/ProximityInfo.java @@ -111,13 +111,11 @@ public class ProximityInfo { return count; } - private long createNativeProximityInfo( - @NonNull final TouchPositionCorrection touchPositionCorrection) { - final List[] gridNeighborKeys = mGridNeighbors; + private long createNativeProximityInfo(@NonNull final TouchPositionCorrection touchPositionCorrection) { final int[] proximityCharsArray = new int[mGridSize * MAX_PROXIMITY_CHARS_SIZE]; Arrays.fill(proximityCharsArray, Constants.NOT_A_CODE); for (int i = 0; i < mGridSize; ++i) { - final List neighborKeys = gridNeighborKeys[i]; + final List neighborKeys = mGridNeighbors[i]; final int proximityCharsLength = neighborKeys.size(); int infoIndex = i * MAX_PROXIMITY_CHARS_SIZE; for (int j = 0; j < proximityCharsLength; ++j) { @@ -243,10 +241,9 @@ public class ProximityInfo { } private void computeNearestNeighbors() { - final int defaultWidth = mMostCommonKeyWidth; final int keyCount = mSortedKeys.size(); final int gridSize = mGridNeighbors.length; - final int threshold = (int) (defaultWidth * SEARCH_DISTANCE); + final int threshold = (int) (mMostCommonKeyWidth * SEARCH_DISTANCE); final int thresholdSquared = threshold * threshold; // Round-up so we don't have any pixels outside the grid final int lastPixelXCoordinate = mGridWidth * mCellWidth - 1; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/compat/CursorAnchorInfoCompatWrapper.kt b/app/src/main/java/org/dslul/openboard/inputmethod/compat/CursorAnchorInfoCompatWrapper.kt index 6f94e887e..e0a86acc2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/compat/CursorAnchorInfoCompatWrapper.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/compat/CursorAnchorInfoCompatWrapper.kt @@ -147,7 +147,7 @@ open class CursorAnchorInfoCompatWrapper internal constructor() { */ const val FLAG_IS_RTL = 0x04 - @kotlin.jvm.JvmStatic + @JvmStatic @TargetApi(VERSION_CODES.LOLLIPOP) fun wrap(instance: CursorAnchorInfo?): CursorAnchorInfoCompatWrapper? { return if (Build.VERSION.SDK_INT < VERSION_CODES.LOLLIPOP) { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/compat/EditorInfoCompatUtils.kt b/app/src/main/java/org/dslul/openboard/inputmethod/compat/EditorInfoCompatUtils.kt index 142cfce30..6ee85ad6f 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/compat/EditorInfoCompatUtils.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/compat/EditorInfoCompatUtils.kt @@ -6,12 +6,9 @@ import java.util.* object EditorInfoCompatUtils { // Note that EditorInfo.IME_FLAG_FORCE_ASCII has been introduced // in API level 16 (Build.VERSION_CODES.JELLY_BEAN). - private val FIELD_IME_FLAG_FORCE_ASCII = CompatUtils.getField( - EditorInfo::class.java, "IME_FLAG_FORCE_ASCII") - private val OBJ_IME_FLAG_FORCE_ASCII: Int? = CompatUtils.getFieldValue( - null /* receiver */, null /* defaultValue */, FIELD_IME_FLAG_FORCE_ASCII) as Int - private val FIELD_HINT_LOCALES = CompatUtils.getField( - EditorInfo::class.java, "hintLocales") + private val FIELD_IME_FLAG_FORCE_ASCII = CompatUtils.getField(EditorInfo::class.java, "IME_FLAG_FORCE_ASCII") + private val OBJ_IME_FLAG_FORCE_ASCII: Int? = CompatUtils.getFieldValue(null, null, FIELD_IME_FLAG_FORCE_ASCII) as? Int + private val FIELD_HINT_LOCALES = CompatUtils.getField(EditorInfo::class.java, "hintLocales") @JvmStatic fun hasFlagForceAscii(imeOptions: Int): Boolean { @@ -20,8 +17,7 @@ object EditorInfoCompatUtils { @JvmStatic fun imeActionName(imeOptions: Int): String { - val actionId = imeOptions and EditorInfo.IME_MASK_ACTION - return when (actionId) { + return when (val actionId = imeOptions and EditorInfo.IME_MASK_ACTION) { EditorInfo.IME_ACTION_UNSPECIFIED -> "actionUnspecified" EditorInfo.IME_ACTION_NONE -> "actionNone" EditorInfo.IME_ACTION_GO -> "actionGo" @@ -57,8 +53,7 @@ object EditorInfoCompatUtils { if (editorInfo == null) { return null } - val localeList = CompatUtils.getFieldValue(editorInfo, null, FIELD_HINT_LOCALES) - ?: return null + val localeList = CompatUtils.getFieldValue(editorInfo, null, FIELD_HINT_LOCALES) ?: return null return if (LocaleListCompatUtils.isEmpty(localeList)) { null } else LocaleListCompatUtils[localeList, 0] diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/dictionarypack/MD5Calculator.kt b/app/src/main/java/org/dslul/openboard/inputmethod/dictionarypack/MD5Calculator.kt index 4ab8e00fe..bd5dd5f7b 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/dictionarypack/MD5Calculator.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/dictionarypack/MD5Calculator.kt @@ -8,8 +8,7 @@ import java.security.NoSuchAlgorithmException object MD5Calculator { @Throws(IOException::class) fun checksum(`in`: InputStream): String? { // This code from the Android documentation for MessageDigest. Nearly verbatim. - val digester: MessageDigest - digester = try { + val digester: MessageDigest = try { MessageDigest.getInstance("MD5") } catch (e: NoSuchAlgorithmException) { return null // Platform does not support MD5 : can't check, so return null @@ -26,4 +25,4 @@ object MD5Calculator { } return s.toString() } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/event/InputTransaction.kt b/app/src/main/java/org/dslul/openboard/inputmethod/event/InputTransaction.kt index 0ce410f49..1b9450b2c 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/event/InputTransaction.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/event/InputTransaction.kt @@ -88,10 +88,10 @@ class InputTransaction(// Initial conditions companion object { // UPDATE_LATER is stronger than UPDATE_NOW. The reason for this is, if we have to update later, -// it's because something will change that we can't evaluate now, which means that even if we -// re-evaluate now we'll have to do it again later. The only case where that wouldn't apply -// would be if we needed to update now to find out the new state right away, but then we -// can't do it with this deferred mechanism anyway. + // it's because something will change that we can't evaluate now, which means that even if we + // re-evaluate now we'll have to do it again later. The only case where that wouldn't apply + // would be if we needed to update now to find out the new state right away, but then we + // can't do it with this deferred mechanism anyway. const val SHIFT_NO_UPDATE = 0 const val SHIFT_UPDATE_NOW = 1 const val SHIFT_UPDATE_LATER = 2 diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/AlphabetShiftState.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/AlphabetShiftState.java index c337da11c..ea756a512 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/AlphabetShiftState.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/AlphabetShiftState.java @@ -18,6 +18,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.util.Log; +import androidx.annotation.NonNull; + public final class AlphabetShiftState { private static final String TAG = AlphabetShiftState.class.getSimpleName(); private static final boolean DEBUG = false; @@ -112,6 +114,7 @@ public final class AlphabetShiftState { return mState == MANUAL_SHIFTED_FROM_AUTO; } + @NonNull @Override public String toString() { return toString(mState); diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java index fefbe00ed..7eaaf5582 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java @@ -46,7 +46,7 @@ public final class DrawingPreviewPlacerView extends RelativeLayout { } public void addPreview(final AbstractDrawingPreview preview) { - if (mPreviews.indexOf(preview) < 0) { + if (!mPreviews.contains(preview)) { mPreviews.add(preview); } } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java index 78e477ad1..96556bb91 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java @@ -126,7 +126,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { } @Override - public void setPreviewPosition(final PointerTracker tracker) { + public void setPreviewPosition(@NonNull final PointerTracker tracker) { if (!isPreviewEnabled()) { return; } @@ -139,7 +139,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { * @param canvas The canvas where preview text is drawn. */ @Override - public void drawPreview(final Canvas canvas) { + public void drawPreview(@NonNull final Canvas canvas) { if (!isPreviewEnabled() || mSuggestedWords.isEmpty() || TextUtils.isEmpty(mSuggestedWords.getWord(0))) { return; @@ -161,8 +161,6 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { } final String text = mSuggestedWords.getWord(0); - final RectF rectangle = mGesturePreviewRectangle; - final int textHeight = mParams.mGesturePreviewTextHeight; final float textWidth = mParams.getTextPaint().measureText(text); final float hPad = mParams.mGesturePreviewHorizontalPadding; @@ -175,7 +173,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { mParams.mDisplayWidth - rectWidth); final float rectY = CoordinateUtils.y(mLastPointerCoords) - mParams.mGesturePreviewTextOffset - rectHeight; - rectangle.set(rectX, rectY, rectX + rectWidth, rectY + rectHeight); + mGesturePreviewRectangle.set(rectX, rectY, rectX + rectWidth, rectY + rectHeight); mPreviewTextX = (int)(rectX + hPad + textWidth / 2.0f); mPreviewTextY = (int)(rectY + vPad) + textHeight; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureStrokeRecognitionPoints.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureStrokeRecognitionPoints.java index b7d954477..60e4a785e 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureStrokeRecognitionPoints.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureStrokeRecognitionPoints.java @@ -146,7 +146,7 @@ public final class GestureStrokeRecognitionPoints { } // TODO: Make this package private - public final boolean isStartOfAGesture() { + public boolean isStartOfAGesture() { if (!hasDetectedFastMove()) { return false; } @@ -225,7 +225,7 @@ public final class GestureStrokeRecognitionPoints { mLastMajorEventY = y; } - private final boolean hasDetectedFastMove() { + private boolean hasDetectedFastMove() { return mDetectFastMoveTime > 0; } @@ -303,18 +303,18 @@ public final class GestureStrokeRecognitionPoints { } // TODO: Make this package private - public final boolean hasRecognitionTimePast( + public boolean hasRecognitionTimePast( final long currentTime, final long lastRecognitionTime) { return currentTime > lastRecognitionTime + mRecognitionParams.mRecognitionMinimumTime; } // TODO: Make this package private - public final void appendAllBatchPoints(final InputPointers out) { + public void appendAllBatchPoints(final InputPointers out) { appendBatchPoints(out, getLength()); } // TODO: Make this package private - public final void appendIncrementalBatchPoints(final InputPointers out) { + public void appendIncrementalBatchPoints(final InputPointers out) { appendBatchPoints(out, mIncrementalRecognitionSize); } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingParams.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingParams.java index 18ac12353..045a33937 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingParams.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingParams.java @@ -19,7 +19,6 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.content.res.TypedArray; import org.dslul.openboard.inputmethod.latin.R; -import org.dslul.openboard.inputmethod.latin.common.Colors; import org.dslul.openboard.inputmethod.latin.settings.Settings; /** diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingPoints.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingPoints.java index 0ede295d5..bee52342c 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingPoints.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailDrawingPoints.java @@ -102,9 +102,8 @@ final class GestureTrailDrawingPoints { eventTimes[i] -= elapsedTime; } final int[] xCoords = mXCoordinates.getPrimitiveArray(); - final int downIndex = trailSize; - xCoords[downIndex] = markAsDownEvent(xCoords[downIndex]); - mCurrentTimeBase = downTime - eventTimes[downIndex]; + xCoords[trailSize] = markAsDownEvent(xCoords[trailSize]); + mCurrentTimeBase = downTime - eventTimes[trailSize]; mCurrentStrokeId = strokeId; } } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java index 315ea03b6..5075ccb64 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java @@ -27,6 +27,8 @@ import android.graphics.Rect; import android.os.Handler; import android.util.SparseArray; +import androidx.annotation.NonNull; + import org.dslul.openboard.inputmethod.keyboard.PointerTracker; /** @@ -56,7 +58,7 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview im } @Override - public void setKeyboardViewGeometry(final int[] originCoords, final int width, + public void setKeyboardViewGeometry(@NonNull final int[] originCoords, final int width, final int height) { super.setKeyboardViewGeometry(originCoords, width, height); mOffscreenOffsetY = (int)(height @@ -127,7 +129,7 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview im * @param canvas The canvas where the preview is drawn. */ @Override - public void drawPreview(final Canvas canvas) { + public void drawPreview(@NonNull final Canvas canvas) { if (!isPreviewEnabled()) { return; } @@ -154,7 +156,7 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview im * @param tracker The new location of the preview is based on the points in PointerTracker. */ @Override - public void setPreviewPosition(final PointerTracker tracker) { + public void setPreviewPosition(@NonNull final PointerTracker tracker) { if (!isPreviewEnabled()) { return; } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java index 20310a60b..265ce5afb 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewDrawParams.java @@ -16,14 +16,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; -import android.animation.Animator; -import android.animation.AnimatorInflater; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; import android.content.res.TypedArray; import android.view.View; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.DecelerateInterpolator; import org.dslul.openboard.inputmethod.latin.R; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardIconsSet.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardIconsSet.java index 59b5ae23f..a9baa1a29 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardIconsSet.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardIconsSet.java @@ -105,7 +105,7 @@ public final class KeyboardIconsSet { NAME_SWITCH_ONEHANDED_KEY, R.styleable.Keyboard_iconSwitchOneHandedMode, }; - private static int NUM_ICONS = NAMES_AND_ATTR_IDS.length / 2; + private static final int NUM_ICONS = NAMES_AND_ATTR_IDS.length / 2; private static final String[] ICON_NAMES = new String[NUM_ICONS]; private final Drawable[] mIcons = new Drawable[NUM_ICONS]; private final int[] mIconResourceIds = new int[NUM_ICONS]; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardParams.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardParams.java index d80e6d9d0..a7caded73 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardParams.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardParams.java @@ -91,15 +91,12 @@ public class KeyboardParams { new TouchPositionCorrection(); // Comparator to sort {@link Key}s from top-left to bottom-right order. - private static final Comparator ROW_COLUMN_COMPARATOR = new Comparator() { - @Override - public int compare(final Key lhs, final Key rhs) { - if (lhs.getY() < rhs.getY()) return -1; - if (lhs.getY() > rhs.getY()) return 1; - if (lhs.getX() < rhs.getX()) return -1; - if (lhs.getX() > rhs.getX()) return 1; - return 0; - } + private static final Comparator ROW_COLUMN_COMPARATOR = (lhs, rhs) -> { + if (lhs.getY() < rhs.getY()) return -1; + if (lhs.getY() > rhs.getY()) return 1; + if (lhs.getX() < rhs.getX()) return -1; + if (lhs.getX() > rhs.getX()) return 1; + return 0; }; public KeyboardParams() { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardState.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardState.java index c5c6281aa..0a3b11f69 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardState.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardState.java @@ -19,6 +19,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.NonNull; + import org.dslul.openboard.inputmethod.event.Event; import org.dslul.openboard.inputmethod.latin.common.Constants; import org.dslul.openboard.inputmethod.latin.settings.Settings; @@ -73,8 +75,9 @@ public final class KeyboardState { private final SwitchActions mSwitchActions; - private ShiftKeyState mShiftKeyState = new ShiftKeyState("Shift"); - private ModifierKeyState mSymbolKeyState = new ModifierKeyState("Symbol"); + private final ShiftKeyState mShiftKeyState = new ShiftKeyState("Shift"); + private final ModifierKeyState mSymbolKeyState = new ModifierKeyState("Symbol"); + private final AlphabetShiftState mAlphabetShiftState = new AlphabetShiftState(); // TODO: Merge {@link #mSwitchState}, {@link #mIsAlphabetMode}, {@link #mAlphabetShiftState}, // {@link #mIsSymbolShifted}, {@link #mPrevMainKeyboardWasShiftLocked}, and @@ -93,7 +96,6 @@ public final class KeyboardState { private static final int MODE_CLIPBOARD = 3; private static final int MODE_NUMPAD = 4; private int mMode = MODE_ALPHABET; - private AlphabetShiftState mAlphabetShiftState = new AlphabetShiftState(); private boolean mIsSymbolShifted; private boolean mPrevMainKeyboardWasShiftLocked; private boolean mPrevSymbolsKeyboardWasShifted; @@ -111,6 +113,7 @@ public final class KeyboardState { public int mMode; public int mShiftMode; + @NonNull @Override public String toString() { if (!mIsValid) { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsSet.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsSet.java index df7510f2b..3ae5f1c7d 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsSet.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsSet.java @@ -28,6 +28,7 @@ import org.dslul.openboard.inputmethod.latin.utils.RunInLocale; import org.dslul.openboard.inputmethod.latin.utils.SubtypeLocaleUtils; import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Locale; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsTable.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsTable.java index d7059f87b..6935188b5 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -59,7 +59,7 @@ public final class KeyboardTextsTable { return text; } // Validity check. - if (index >= 0 && index < TEXTS_DEFAULT.length) { + if (index < TEXTS_DEFAULT.length) { return TEXTS_DEFAULT[index]; } // Throw exception for debugging purpose. diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MatrixUtils.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MatrixUtils.java index 2e39ef75a..6b78484eb 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MatrixUtils.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MatrixUtils.java @@ -21,6 +21,7 @@ import android.util.Log; import org.dslul.openboard.inputmethod.annotations.UsedForTesting; import java.util.Arrays; +import java.util.Locale; /** * Utilities for matrix operations. Don't instantiate objects inside this class to prevent @@ -154,10 +155,10 @@ public class MatrixUtils { Log.d(TAG, "Dump matrix: " + title); Log.d(TAG, "/*---------------------"); final StringBuilder sb = new StringBuilder(); - for (int i = 0; i < row; ++i) { + for (float[] floats : a) { sb.setLength(0); for (int j = 0; j < column; ++j) { - sb.append(String.format("%4f", a[i][j])).append(' '); + sb.append(String.format(Locale.ROOT, "%4f", floats[j])).append(' '); } Log.d(TAG, sb.toString()); } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ModifierKeyState.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ModifierKeyState.java index 6c7511615..6e2341421 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ModifierKeyState.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ModifierKeyState.java @@ -18,6 +18,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.util.Log; +import androidx.annotation.NonNull; + /* package */ class ModifierKeyState { protected static final String TAG = ModifierKeyState.class.getSimpleName(); protected static final boolean DEBUG = false; @@ -67,6 +69,7 @@ import android.util.Log; return mState == CHORDING; } + @NonNull @Override public String toString() { return toString(mState); diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/NonDistinctMultitouchHelper.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/NonDistinctMultitouchHelper.java index 706668fa3..813f20427 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/NonDistinctMultitouchHelper.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/NonDistinctMultitouchHelper.java @@ -30,7 +30,7 @@ public final class NonDistinctMultitouchHelper { private static final int MAIN_POINTER_TRACKER_ID = 0; private int mOldPointerCount = 1; private Key mOldKey; - private int[] mLastCoords = CoordinateUtils.newInstance(); + private final int[] mLastCoords = CoordinateUtils.newInstance(); public void processMotionEvent(final MotionEvent me, final KeyDetector keyDetector) { final int pointerCount = me.getPointerCount(); diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/PointerTrackerQueue.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/PointerTrackerQueue.java index 094a277d9..95029a54e 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/PointerTrackerQueue.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/PointerTrackerQueue.java @@ -18,6 +18,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.util.Log; +import androidx.annotation.NonNull; + import java.util.ArrayList; public final class PointerTrackerQueue { @@ -176,10 +178,9 @@ public final class PointerTrackerQueue { public boolean hasModifierKeyOlderThan(final Element pointer) { synchronized (mExpandableArrayOfActivePointers) { - final ArrayList expandableArray = mExpandableArrayOfActivePointers; final int arraySize = mArraySize; for (int index = 0; index < arraySize; index++) { - final Element element = expandableArray.get(index); + final Element element = mExpandableArrayOfActivePointers.get(index); if (element == pointer) { return false; // Stop searching modifier key. } @@ -193,10 +194,9 @@ public final class PointerTrackerQueue { public boolean isAnyInDraggingFinger() { synchronized (mExpandableArrayOfActivePointers) { - final ArrayList expandableArray = mExpandableArrayOfActivePointers; final int arraySize = mArraySize; for (int index = 0; index < arraySize; index++) { - final Element element = expandableArray.get(index); + final Element element = mExpandableArrayOfActivePointers.get(index); if (element.isInDraggingFinger()) { return true; } @@ -210,29 +210,28 @@ public final class PointerTrackerQueue { if (DEBUG) { Log.d(TAG, "cancelAllPointerTracker: " + this); } - final ArrayList expandableArray = mExpandableArrayOfActivePointers; final int arraySize = mArraySize; for (int index = 0; index < arraySize; index++) { - final Element element = expandableArray.get(index); + final Element element = mExpandableArrayOfActivePointers.get(index); element.cancelTrackingForAction(); } } } + @NonNull @Override public String toString() { synchronized (mExpandableArrayOfActivePointers) { final StringBuilder sb = new StringBuilder(); - final ArrayList expandableArray = mExpandableArrayOfActivePointers; final int arraySize = mArraySize; for (int index = 0; index < arraySize; index++) { - final Element element = expandableArray.get(index); + final Element element = mExpandableArrayOfActivePointers.get(index); if (sb.length() > 0) { sb.append(" "); } sb.append(element.toString()); } - return "[" + sb.toString() + "]"; + return "[" + sb + "]"; } } } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ShiftKeyState.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ShiftKeyState.java index 62749097f..b8f77b6f2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ShiftKeyState.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/ShiftKeyState.java @@ -18,6 +18,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; import android.util.Log; +import androidx.annotation.NonNull; + /* package */ final class ShiftKeyState extends ModifierKeyState { private static final int PRESSING_ON_SHIFTED = 3; // both temporary shifted & shift locked private static final int IGNORING = 4; @@ -53,6 +55,7 @@ import android.util.Log; return mState == IGNORING; } + @NonNull @Override public String toString() { return toString(mState); diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java index 779810a0f..bf9598fbf 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java @@ -21,6 +21,8 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; +import androidx.annotation.NonNull; + import org.dslul.openboard.inputmethod.keyboard.PointerTracker; import org.dslul.openboard.inputmethod.latin.R; import org.dslul.openboard.inputmethod.latin.common.CoordinateUtils; @@ -79,7 +81,7 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview * @param canvas The canvas where the preview is drawn. */ @Override - public void drawPreview(final Canvas canvas) { + public void drawPreview(@NonNull final Canvas canvas) { if (!isPreviewEnabled() || !mShowsSlidingKeyInputPreview) { return; } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SmoothingUtils.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SmoothingUtils.java index 31260923f..d850913e7 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SmoothingUtils.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/SmoothingUtils.java @@ -61,8 +61,8 @@ public class SmoothingUtils { Arrays.fill(m0[i], 0); 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(xs[k], pow); + for (float x : xs) { + m0[i][j] += (float) Math.pow(x, pow); } } } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/UniqueKeysCache.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/UniqueKeysCache.java index bb3d8b78f..ec2ca3ac2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/UniqueKeysCache.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/UniqueKeysCache.java @@ -35,8 +35,9 @@ public abstract class UniqueKeysCache { @Override public void clear() {} + @NonNull @Override - public Key getUniqueKey(Key key) { return key; } + public Key getUniqueKey(@NonNull Key key) { return key; } }; @NonNull @@ -63,8 +64,9 @@ public abstract class UniqueKeysCache { mCache.clear(); } + @NonNull @Override - public Key getUniqueKey(final Key key) { + public Key getUniqueKey(@NonNull final Key key) { if (!mEnabled) { return key; } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java index b746a0ecd..808c00da5 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java @@ -16,6 +16,7 @@ package org.dslul.openboard.inputmethod.latin.suggestions; +import android.annotation.SuppressLint; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; @@ -125,8 +126,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick /** * Construct a {@link SuggestionStripView} for showing suggestions to be picked by the user. - * @param context - * @param attrs */ public SuggestionStripView(final Context context, final AttributeSet attrs) { this(context, attrs, R.attr.suggestionStripViewStyle); @@ -172,8 +171,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick final Resources res = context.getResources(); mMoreSuggestionsModalTolerance = res.getDimensionPixelOffset( R.dimen.config_more_suggestions_modal_tolerance); - mMoreSuggestionsSlidingDetector = new GestureDetector( - context, mMoreSuggestionsSlidingListener); + mMoreSuggestionsSlidingDetector = new GestureDetector(context, mMoreSuggestionsSlidingListener); final TypedArray keyboardAttr = context.obtainStyledAttributes(attrs, R.styleable.Keyboard, defStyle, R.style.SuggestionStripView); @@ -202,7 +200,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick /** * A connection back to the input method. - * @param listener */ public void setListener(final Listener listener, final View inputView) { mListener = listener; @@ -231,6 +228,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mLayoutHelper.setMoreSuggestionsHeight(remainingHeight); } + @SuppressLint("ClickableViewAccessibility") // why would "null" need to call View#performClick? public void clear() { mSuggestionsStrip.removeAllViews(); removeAllDebugInfoViews(); @@ -291,6 +289,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick } @Override + @SuppressLint("ClickableViewAccessibility") // no need for View#performClick, we return false mostly anyway public boolean onLongClick(final View view) { if (view == mClipboardKey) { ClipboardManager clipboardManager = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE); @@ -490,6 +489,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick } @Override + @SuppressLint("ClickableViewAccessibility") // ok, perform click again, but why? public boolean onTouchEvent(final MotionEvent me) { if (!mMoreSuggestionsView.isShowingInParent()) { // Ignore any touch event while more suggestions panel hasn't been shown.