From fb72890ac6cea2b39a0dbd401ebee6b42323e5f3 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Wed, 26 Jun 2013 12:22:04 +0900
Subject: [PATCH] Readability improvement

Change-Id: I2f350145f333ba1fa4eb20027b0f41107c2df02c
---
 java/src/com/android/inputmethod/latin/LatinIME.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 9ef2739184..c867436e5b 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -928,14 +928,15 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
 
         final boolean selectionChanged = mLastSelectionStart != newSelStart
                 || mLastSelectionEnd != newSelEnd;
+
         // if composingSpanStart and composingSpanEnd are -1, it means there is no composing
         // span in the view - we can use that to narrow down whether the cursor was moved
         // by us or not. If we are composing a word but there is no composing span, then
         // we know for sure the cursor moved while we were composing and we should reset
         // the state. TODO: rescind this policy: the framework never removes the composing
         // span on its own accord while editing. This test is useless.
-
         final boolean noComposingSpan = composingSpanStart == -1 && composingSpanEnd == -1;
+
         // If the keyboard is not visible, we don't need to do all the housekeeping work, as it
         // will be reset when the keyboard shows up anyway.
         // TODO: revisit this when LatinIME supports hardware keyboards.
@@ -957,7 +958,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
             // state-related special processing to kick in.
             mSpaceState = SPACE_STATE_NONE;
 
-            if ((!mWordComposer.isComposingWord()) || selectionChanged || noComposingSpan) {
+            // TODO: is it still necessary to test for composingSpan related stuff?
+            final boolean selectionChangedOrSafeToReset = selectionChanged
+                    || (!mWordComposer.isComposingWord()) || noComposingSpan;
+            if (selectionChangedOrSafeToReset) {
                 // If we are composing a word and moving the cursor, we would want to set a
                 // suggestion span for recorrection to work correctly. Unfortunately, that
                 // would involve the keyboard committing some new text, which would move the
-- 
GitLab