aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-07-29 09:31:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-24 16:04:26 +0000
commit3c7cb5234fa33f67a4029d6e858ccccf5c7feeb3 (patch)
tree4be23db6811899d7fc826cb6f908f153e15c248d /java/src
parent3042452170e9d8bd2d80abd7514b40b1974741f7 (diff)
parent60a2cd8ac439bf41bfddc5f5f339feda7c7ff175 (diff)
downloadlatinime-3c7cb5234fa33f67a4029d6e858ccccf5c7feeb3.tar.gz
latinime-3c7cb5234fa33f67a4029d6e858ccccf5c7feeb3.tar.xz
latinime-3c7cb5234fa33f67a4029d6e858ccccf5c7feeb3.zip
Merge "[HW7.5] Introduce the @Nonnull annotation" into lmp-dev
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/event/Combiner.java3
-rw-r--r--java/src/com/android/inputmethod/event/CombinerChain.java7
-rw-r--r--java/src/com/android/inputmethod/event/DeadKeyCombiner.java3
-rw-r--r--java/src/com/android/inputmethod/event/MyanmarReordering.java3
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java3
5 files changed, 15 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/event/Combiner.java b/java/src/com/android/inputmethod/event/Combiner.java
index 8b808c6b3..fee93f0c6 100644
--- a/java/src/com/android/inputmethod/event/Combiner.java
+++ b/java/src/com/android/inputmethod/event/Combiner.java
@@ -18,6 +18,8 @@ package com.android.inputmethod.event;
import java.util.ArrayList;
+import javax.annotation.Nonnull;
+
/**
* A generic interface for combiners. Combiners are objects that transform chains of input events
* into committable strings and manage feedback to show to the user on the combining state.
@@ -33,6 +35,7 @@ public interface Combiner {
* @param event the event to combine with the existing state.
* @return the resulting event.
*/
+ @Nonnull
Event processEvent(ArrayList<Event> previousEvents, Event event);
/**
diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java
index 8ddc9e7d9..f69bf4fd0 100644
--- a/java/src/com/android/inputmethod/event/CombinerChain.java
+++ b/java/src/com/android/inputmethod/event/CombinerChain.java
@@ -24,6 +24,8 @@ import com.android.inputmethod.latin.Constants;
import java.util.ArrayList;
import java.util.HashMap;
+import javax.annotation.Nonnull;
+
/**
* This class implements the logic chain between receiving events and generating code points.
*
@@ -87,6 +89,7 @@ public class CombinerChain {
* @return the processed event. It may be the same event, or a consumed event, or a completely
* new event. However it may never be null.
*/
+ @Nonnull
public Event processEvent(final ArrayList<Event> previousEvents, final Event newEvent) {
final ArrayList<Event> modifiablePreviousEvents = new ArrayList<>(previousEvents);
Event event = newEvent;
@@ -94,10 +97,6 @@ public class CombinerChain {
// A combiner can never return more than one event; it can return several
// code points, but they should be encapsulated within one event.
event = combiner.processEvent(modifiablePreviousEvents, event);
- if (null == event) {
- // Combiners return null if they eat the event.
- break;
- }
}
return event;
}
diff --git a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
index 342f499c9..d816247d8 100644
--- a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
+++ b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java
@@ -23,6 +23,8 @@ import com.android.inputmethod.latin.Constants;
import java.util.ArrayList;
+import javax.annotation.Nonnull;
+
/**
* A combiner that handles dead keys.
*/
@@ -31,6 +33,7 @@ public class DeadKeyCombiner implements Combiner {
final StringBuilder mDeadSequence = new StringBuilder();
@Override
+ @Nonnull
public Event processEvent(final ArrayList<Event> previousEvents, final Event event) {
if (TextUtils.isEmpty(mDeadSequence)) {
if (event.isDead()) {
diff --git a/java/src/com/android/inputmethod/event/MyanmarReordering.java b/java/src/com/android/inputmethod/event/MyanmarReordering.java
index 80c711f4a..7285512f9 100644
--- a/java/src/com/android/inputmethod/event/MyanmarReordering.java
+++ b/java/src/com/android/inputmethod/event/MyanmarReordering.java
@@ -21,6 +21,8 @@ import com.android.inputmethod.latin.Constants;
import java.util.ArrayList;
import java.util.Arrays;
+import javax.annotation.Nonnull;
+
/**
* A combiner that reorders input for Myanmar.
*/
@@ -128,6 +130,7 @@ public class MyanmarReordering implements Combiner {
: Event.createSoftwareTextEvent(combinedText, Event.NOT_A_KEY_CODE);
}
+ @Nonnull
@Override
public Event processEvent(ArrayList<Event> previousEvents, Event newEvent) {
final int codePoint = newEvent.mCodePoint;
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 171d0bba7..75d616e38 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -25,6 +25,8 @@ import com.android.inputmethod.latin.utils.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
+import javax.annotation.Nonnull;
+
/**
* A place to store the currently composing word with information such as adjacent key codes as well
*/
@@ -179,6 +181,7 @@ public final class WordComposer {
* @param event the unprocessed event.
* @return the processed event. Never null, but may be marked as consumed.
*/
+ @Nonnull
public Event processEvent(final Event event) {
final Event processedEvent = mCombinerChain.processEvent(mEvents, event);
mEvents.add(event);